Farbe eines biliebigen Pixels herausfinden?
-
Ich will gerade etwas programmieren wozu es wichtig ist das ich weiß welche
farbe ein bestimmter Pixel auf den Bildschirm hat.
Also sowas wie das Pipetten Tool in Malprogrammen.
Ich hab sowas schon in ein paar Programmen gesehen hab aber nirgends was gefunden wie das funktionieren könnte.Geht das überhaupt einfach so ? oder ist das sehr komplex ? dann würd ichs lassen
Hoffe ihr könnt mir helfen ...
-
Geht das überhaupt einfach so ? oder ist das sehr komplex ? dann würd ichs lassen
Mit Standard C++ geht das nicht.
Mit der VCL Beispielsweise aber wiederum kein Problem.
-
Nämlich so:
RGB = Form1->Image1->Canvas->Pixels[column][row];
-
Hmm... das bezieht sich dann aber nur auf ein Form oder ?
Ich meinte aber den kompletten Bildschirm ... egal was fürn fenster gerade auf ist.
-
Das Image kann auch ein Screenshot vom Bildschirm sein.
-
Hab gerade nochmal nachgeschaut mit WinApi gehts noch einfacher:
HDC DDC=CreateDC("DISPLAY",NULL,NULL,NULL); long rgb=GetPixel(DDC,x,y);
-
Hi!
Oder so:
HDC DesktopDC = GetDC( GetDesktopWindow() ); unsigned long RGB = GetPixel( DesktopDC, x, y );
grüße
-
Mit diesen HDC Dingern war ich auch schon am rum probieren nachdem du das mit dem Screenshot gesagt hattest. Nur diesen Befehl hätte ich warschl. nie gefunden
Vielen Dank!
Problem gelösst
-
Hallo,
HDC DesktopDC = GetDC(0);
reicht auch, wenn es nur einen Desktop gibt.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.