theoretisch richtige funktion? ( GetPixel() )
-
kurz & knapp:
mein progg springt in die funktion und soll erst dann wieder raus,
wenn sich der pixel an einer gewissen stelle (int x/y) änbdert.nur es geht nich

(vorschläge, alternativen, hilfe oder feedback?)void mypixelchange(int x, int y) { bool truy = true; HDC dc = GetDC(0); COLORREF tmp; while(truy == true) { tmp = GetPixel(dc, x, y); Sleep(2000); if(tmp == GetPixel(dc, x, y)) truy = false; }; //end while-DANKE-
-
Erste Frage: Wie äußert sich "geht nicht"?
Zweite Frage: In welchem Zusammenhang hast du die Funktion eingesetzt?
(Ich würde ja das "tmp=GetPixel(dc,x,y);" aus der Schleife herausnehmen, aber ich glaube nicht, daß das dein Problem beheben würde)
-
probier's so:
void mypixelchange (int x, int y) { HDC dc = GetDC(0); COLORREF tmp; tmp = GetPixel(dc, x, y); for(;;) { if (GetPixel(dc, x, y) != tmp) return; Sleep(100); } }
-
Chaoz-Coder schrieb:
kurz & knapp:
mein progg springt in die funktion und soll erst dann wieder raus,
wenn sich der pixel an einer gewissen stelle (int x/y) änbdert.nur es geht nich

(vorschläge, alternativen, hilfe oder feedback?)void mypixelchange(int x, int y) { bool truy = true; HDC dc = GetDC(0); COLORREF tmp; while(truy == true) { tmp = GetPixel(dc, x, y); // bei jedem durchlauf erfolgt eine neue zuweisung der pixelfarbe Sleep(2000); if(tmp == GetPixel(dc, x, y)) //du verläßt die schleife nur wenn sich der pixel innerhalb von 2sec NICHT ändert ;) truy = false; }; //end while-DANKE-
wenn du die farbe zu beginn der funktion immer wieder abfragen willst muß du die zuweisung vor der schleife machen...
und natürlich die "if" ändern...

void mypixelchange(int x, int y) { bool truy = true; HDC dc = GetDC(0); COLORREF tmp; tmp = GetPixel(dc, x, y); while(truy == true) { Sleep(2000); if(tmp != GetPixel(dc, x, y)) truy = false; }; //end whilemfg
-
mein gott...
danke schandmaul
sowas übersieht man einfach zu leicht
THX