Pixel-Farbe aus Grafik auslesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm Frame
Bild

Betrifft: Pixel-Farbe aus Grafik auslesen
von: Markus Pirzer
Geschrieben am: 18.10.2015 23:05:05

Hallo,
ich möchte die Farbe bestimmter Pixel einer Bitmap-Grafik auslesen und damit bestimmte Zellen einfärben.
Die Funktion getPixel scheint dafür zu passen, die scheint aber unter VBA 6.0 nicht zu funktionieren.
Das Beispielprogramm unter folgendem Link funktioniert bei mir nicht, da VBA 6.0 weder .ScaleMode noch .hdc zu kennen scheint. Auch die Hilfedatei findet dazu keine Einträge

http://www.vbarchiv.net/api/api_getpixel.html
Ist es richtig dass getPixel unter VBA 6.0 nicht funktioniert?
Gibt es ähnliche Funktionen die bereits bei VBA 6.0 implementiert sind?
Gruß
Markus

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Nepumuk
Geschrieben am: 18.10.2015 23:30:02
Hallo,
wo befindet sich das Bild und wie willst du das Pixel ansteuern (Maus oder Fester Wert)?
Gruß
Nepumuk

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Markus Pirzer
Geschrieben am: 19.10.2015 19:32:50
Hallo,
ich möchte über einen festen Wert (x- und y-Koordinate) auf die Grafik zugreifen.
Die Grafik exisitiert als Datei, die ich testweise in Excel eingefügt habe. Wenn es eine Möglichkeit gibt direkt auf die Datei über den Dateipfad zuzugreifen wäre mir das auch recht.
Gruß
Markus

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Nepumuk
Geschrieben am: 19.10.2015 21:07:10
Hallo,
du könntest das Bild in ein Userform laden und dort per GetPixel die Farbe auslesen.
Hier mal ein Beispiel: https://www.herber.de/bbs/user/100880.xlsm
Beim Klick auf eine Farbe wird der Zellbereich entsprechend eingefärbt.
Gruß
Nepumuk

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Markus Pirzer
Geschrieben am: 19.10.2015 23:17:57
Hallo Nepomuk,
danke für deine Hilfe.
Das mit der Userform hatte ich auch schon ausprobiert.
Das von dir verlinkte Beispielprogramm funktioniert aber, das muss ich mir mal genau anschauen warum das hier funktioniert und bei meinem Programm nicht.
Es aber schon mal wichtig zu wissen dass getPixel grundsätzlich auch mit meiner alten Excel-Version funktioniert.
Gruß
Markus

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Markus Pirzer
Geschrieben am: 21.10.2015 20:40:19
Hallo,
irgendwie schaff ich das trotzdem nicht das Beispielprogramm so umzuändern dass ich auf meine eigene Grafik zugreifen kann.
Zum Verständnis wie das Beispielprogramm (https://www.herber.de/bbs/user/100880.xlsm) funktioniert hätte ich ein paar Fragen:
- Was genau macht die Funktion "FindWindow()"? Dass "ThunderDFrame" der Klassenname für das "UserForm"-Fenster ist hab ich irgendwo gelesen, aber worauf bezieht sich das "Caption"?
- Warum werden die X- und Y-Koordinate der Mausposition jeweils durch 0.748 geteilt?
Gruß
Markus

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Nepumuk
Geschrieben am: 21.10.2015 21:22:20
Hallo,
mit FindWindow lese ich das Windows-Handle aus über welche dann der Device-Context gelesen werden kann. Caption ist die Caption des Userforms. Die Koordinaten muss ich durch 0,748 teilen um den X- bzw. Y-Wert von Point in Pixel umzurechnen.
Gruß
Nepumuk

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Markus Pirzer
Geschrieben am: 23.10.2015 16:12:04
Hallo,
funktioniert jetzt, lag offenbar an der Art wie ich die Grafik eingebunden habe. Ich hatte die Grafik zunächst über das Werkzeug "Anzeige" eingefügt.
Jetzt hab ich sie über die UserForm-Eigenschaft "Picture" eingefügt und das hat funktioniert.
Nur interessehalber (es funktioniert ja mittlerweile):
Warum findet FindWindow meine Userform, wenn ich als zweiten Parameter einfach nur "Caption" angebe? Müsste ich da nicht eigentlich "UserForm1" angeben, die Caption hat ja sowohl bei mir als auch bei deinem Beispielprogramm den Wert "UserForm1"
Gruß
Markus

Bild

Betrifft: AW: Pixel-Farbe aus Grafik auslesen
von: Nepumuk
Geschrieben am: 23.10.2015 20:16:45
Hallo,
Caption ist das was in der Titelleiste steht und danach wird gesucht.
Gruß
Nepumuk

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Pixel-Farbe aus Grafik auslesen"