Farbe eines Pixels auf dem Bildschirm?
-
es kommt halt wirklich darauf an was du machst, in Allegro mit C++ geht das zum Beispiel so:
Zuerst definierst du Farben:
white = makecol(255,255,255);
black = makecol(0,0,0);Dann machst du einfach:
int a;
a= getpixel(screen, x, y);
if(a==black)
{
//mach was
}
-
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.
-
XaTrIxX schrieb:
es kommt halt wirklich darauf an was du machst
Naja, ich möchte halt beobachten ob ein Pixel die Farbe ändert, soll das der fall sein dann "tue was" habe mir schon diverse sachen von WinAPI angeschaut also würde ich das noch gerne mit WinAPI fortsetzen.
XMaster schrieb:
window_handle braucht auch einen Wert (GetDesktopHandle())
Würde das auch genauer gehen? Habe auch einpaar beispiele gesehen wo GetDesktopHandle() war, habe sie nicht verstanden und haben so auch nicht funktioniert
Kennt einer vielleicht eine Ausführliche Referenz zu WinAPI??
-
ja, nennt sich msdn: GetDC()
-
War das dann nicht irgendwie so:
int x, y; HWND window_handle; HDC hdc; COLORREF color; int main(){ x = 100; y = 100; hdc = GetDesktopHandle(GetDC(NULL)); color = GetPixel(hdc,x,y); }
-
HDC desktopDC=GetDC(NULL); COLORREF farbe=GetPixel(desktopDC,x,y); BYTE rotWert=GetRValue(farbe); BYTE gruenWert=GetGValue(farbe); BYTE blauWert=GetBValue(farbe); ReleaseDC(desktopDC);
-
Hmm jetzt kommt eine Fehlermeldung:
[Linker Error] undefined reference to 'GetPixel@12'
wenn ich ReleaseDC(desktopDC) auskommentiere
sonst kommt:
cannot convert 'HDC_*' to 'HWND_*'for argument '1' to 'int ReleaseDC(HWND_*, HDC_*)'
-
Fipptehler:
ReleaseDC(NULL,desktopDC);
-
was ist mit dem oberen fehler? der besteht jetzt noch. Habe ich was nicht includet?
habe <iostream> und <windows.h>
-
msdn sagt: "Library: Use Gdi32.lib."
-
Alles klar
Danke