Komischer Farbwert
-
Hi Leute!
Kann es sein das die Funktion rgb=GetPixel(hdc,x,y) nach der bearbeitung des Wertes mit Rot=GetRValue(rgb); in Rot der Wert 947 steht? Eigentlich kann das doch nichtsein da das über dem Farbcode liegt oder?
Danke Blind
-
wie hast du die Rot Variable deklariert?
-
die Variable Rot ist als long Rot deklariert
-
nimm unsigned char
COLORREF clrColor = RGB(125,45,255); BYTE byRot = static_cast<BYTE>((clrColor >> 16) & 0xff);
-
Ich habe jetzt diesen Code:
unsigned char Rot=0,Grun=0,Blau=0; rgb = GetPixel(hdc,150,450); BYTE byRot = static_cast<BYTE>((rgb >> 16) & 0xff); BYTE byGrun = static_cast<BYTE>((rgb >> 16) & 0xff); BYTE byBlau = static_cast<BYTE>((rgb >> 16) & 0xff);Aber jetzt bekomme ich nur noch 0 als wert ausgegeben.
-
Sorry, mir ist ein Fehler unterlaufen und zwar sollte (clrColor & 0xff) heissen. Bei Grün musst du um 8 Stellen shiften, bei Blau - um 16.
Aber nimm einfach die GetXValue Makros, die erledigen das selbe und den Rückgabewert speicherst du in einem unsigned char
-
Jo jetz müste es gehen. weist du wie mann bei einem Livesteam die Abfrage wieder holt so dass das Programm immer den neusten Farbwert des streams hat?