Rubrik: Grafik und Font · Bilder und Icons | VB-Versionen: VB.NET | 28.11.07 |
Die Farbwerte von Pixeln einer PictureBox (VB.NET) Mit der GetPixel.Methode den Farbwert eines Pixels von einem Bild ermitteln | ||
Autor: Rene Beukert | Bewertung: | Views: 25.433 |
www.renebeukert.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit der GetPixel-Methode kann man leicht den Farbwert eines Pixels von einem Bild ermitteln. Dazu kann man aber nicht direkt auf das Bild in der PictureBox zugreifen, man muss das Bild vorher klonen.
Also so etwa:
' Das Bild aus der Picturebox klonen Dim Bild As Bitmap = CType(Me.PictureBox1.Image.Clone, Bitmap) ' Koordinate festlegen z.B.: Dim X As Integer = 50 ' X-Koordinate Dim Y As Integer = 50 ' Y-Koordinate ' Farbe der Pixel bestimmen Dim RWert As Integer = Bild.GetPixel(X, Y).R Dim GWert As Integer = Bild.GetPixel(X, Y).G Dim BWert As Integer = Bild.GetPixel(X, Y).B Dim AWert As Integer = Bild.GetPixel(X, Y).A MsgBox("Die Farbwerte der Bildkoordinate sind:" & _ vbCrLf & "Rotanteil= " & RWert & _ vbCrLf & "Grünanteil= " & GWert & _ vbCrLf & "Blauanteil= " & BWert & _ vbCrLf & "Alphawert= " & AWert)
Analog dazu kann man auch die Farbwerte der Pixel mit der SetPixel-Methode verändern, nur muss man da den Klone des Bildes in einer PictureBox ausgeben, z.B.:
' erst einmal ne Farbe bauen Dim farbe As Color = Color.FromArgb(Alphawert, Rotwert, Grünwert, Blauwert) ' dann in die Koordinate einbauen Bild.SetPixel(X, Y, farbe) ' und ausgeben Me.PictureBox1.Image = Bild
Das war's, viel Spass beim Probieren.