Hi liebe Community,
ich habe mir folgenden Code zum verfärben eines Bildes geschrieben:
Funktioniert soweit. Nur dauert es ewig bis das Bild eingefärbt ist. Gibt es eine Möglichkeit, etwas in der Art schneller zu machen?
Für kleinere Bilder ist diese Funktion kein Problem, aber bei normalen brauche ich dafür bis zu 5 Minuten.
Hoffe, dass jemand einen Ausweg weiß
MFG
ich habe mir folgenden Code zum verfärben eines Bildes geschrieben:
VB.NET-Quellcode
- Function Filter(ByVal image As Image, ByVal red As Integer, ByVal green As Integer, ByVal blue As Integer) As Image
- Dim Bitmap As New Bitmap(image)
- For x As Integer = 0 To image.Width - 1
- For y As Integer = 0 To image.Height - 1
- Dim c As Color = Bitmap.GetPixel(x, y)
- Dim NewRed As Integer = c.R + red
- Dim NewGreen As Integer = c.R + green
- Dim NewBlue As Integer = c.R + blue
- If NewRed > 255 Then
- NewRed = 255
- End If
- If NewGreen > 255 Then
- NewGreen = 255
- End If
- If NewBlue < 255 Then
- NewBlue = 255
- End If
- Bitmap.SetPixel(x, y, Color.FromArgb(red, green, blue))
- Next
- Next
- Dim i As Image = Bitmap
- Return i
- End Function
Funktioniert soweit. Nur dauert es ewig bis das Bild eingefärbt ist. Gibt es eine Möglichkeit, etwas in der Art schneller zu machen?
Für kleinere Bilder ist diese Funktion kein Problem, aber bei normalen brauche ich dafür bis zu 5 Minuten.
Hoffe, dass jemand einen Ausweg weiß
MFG
Auf der Suche nach Coding-Kursen auf Lence.at