VB.Net Pixel aus Bild auslesen
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
auge
auslese
bild
bit
code
farbe
image
kanal
komprimierung
nutz
pixel
position
projekt
re
sender
setzen
studio
system
versuch
vorkommen
-
Ich möchte aus einem ref="/tag/bild">Bild die Position und die RGB-Farbe eines Pixels auslesen bzw. aller Pixel.
Ich nutze Visual Studio 2010 und habe mir schon bisschen Code rausgesucht.
Public Class Form1 Dim i As Bitmap Dim g As Graphics Dim c(5, 1) As Color Dim maxwidth As Integer Dim maxheight As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load i = Image.FromFile("res/test1.png") g = Graphics.FromImage(i) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click maxwidth = i.Width maxheight = i.Height Dim p As New Pen(Color.Transparent) For x As Integer = 0 To maxwidth - 1 For y As Integer = 0 To maxheight - 1 c(x, y) = i.GetPixel(x, y) Application.DoEvents() Next Next For x As Integer = 0 To maxwidth - 1 For y As Integer = 0 To maxheight - 1 p.Color = c(x, y) TextBox1.AppendText(p.Color.ToString + vbCrLf) Application.DoEvents() Next Next End Sub End Class
Das Bild habe ich mit Photoshop erstellt und als RGB/8-bit Kanal abgespeichert. Wenn ich nun das Projekt debugge kommt das in die Textbox.
Color [A=255, R=255, G=255, B=253] Color [A=255, R=254, G=0, B=3] Color [A=255, R=0, G=255, B=0] Color [A=255, R=0, G=0, B=254] Color [A=255, R=0, G=0, B=0]
z.b. Bei ersten Wert steht B=253 dabei habe ich den Pixel als 255 255 255 gemacht also weiß. Was habe ich falsch gemacht? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
das liegt daran, das photoshop die Bilder komprimiert. Bei der Komprimierung kann es vorkommen, dass das Bild "verschwimmt", auch wenn man es mitm Auge nicht sieht. Ich selbst nutz zwar PSPX, aber dort kann man die Komprimierungsstärke auf 0% setzen. Versuch das mal PS.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage