vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Grafik und Font · Bilder und Icons   |   VB-Versionen: VB.NET28.11.07
Die Farbwerte von Pixeln einer PictureBox (VB.NET)

Mit der GetPixel.Methode den Farbwert eines Pixels von einem Bild ermitteln

Autor:   Rene BeukertBewertung:  Views:  25.433 
www.renebeukert.deSystem:  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.
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.