Bitmap analysieren?

ManicMarble

Erfahrenes Mitglied
Hallo,
ich muss "schnell mal" eine Art Vektorisierungs-Programm für eine Laserbeschriftungsmaschine schreiben. Der Einfachkeit halber - und weil ich das am besten kann - würde ich das gerne mit VB6 oder ggf. mit VB.NET machen.

Hierzu benötige ich eine Möglichkeit, zu jedem Pixel einer beliebigen 256-Graustufen-Bitmap (.bmp-Datei) die X- und Y-Position sowie dessen RGB-Werte rauszufinden. Ich würde die Helligkeitswerte dann gerne in einem 2-dimensionalen Array ablegen um damit weiterzuwursteln.

Frage:
Wie kriege ich diese Info über die Pixel? Hat jemand einen Tip für ein entsprechendes ActiveX-Control? Geht da was mit der Win-API? Oder kann VB's Image-Control diese Infos liefern? Kennt jemand 'nen hilfreichen Link?

Freue mich über alles, was mir weiterhilft.

Grüße,
Martin
 
Ok, danke für die große Resonanz... ;)
Hab's inzwischen selber rausgefunden.

Falls es jemand interessiert: Eine Lösung ist die Platzierung der Bitmap in einer Form und dann das Abfragen der Pixel-RGB-Werte mit der Point-Methode. Nachteil: Die Bitmap muss auf die Form passen.
Andere, bessere Lösung: Verwenden von ActiveImage-ActiveX von Tonec (http://www.tonec.com/products/acim/index.html). Funktioniert wunderbar, Progrämmchen fertig, Laser-Maschine brutzelt schon.

Martin.
 
Noch eine Lösung

Wenn du dein Bild in eine PictureBox legst und die Eigenschaft AUTOSIZE auf TRUE steht, dann muss das Bild nicht auf die Form passen (es muss nicht mal sichtbar sein!). Dann verwendet man einfach folgende API-Funktion
Code:
Declare Function GetPixel Lib "GDI32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
 
Zurück