ciao a tutti... volevo sapere se conoscete un modo per rilevare il colore di un pixel date le rispettive coordinate??
cercando su internet ho trovato il seguente codiche ...
problema... mi restituisce sempre 255 255 255 che è il bianco... leggendo in giro ho visto che il problema è dovuto al CLR_INVALID cioe il pixel che mi interessa è fuori dalla regione di ritaglio corrente...codice:#include <windows.h> #include <string.h> #include <stdio.h> #include <stdlib.h> int main() { POINT mouse; //definizione necessaria per il mouse /*ho creato in paint 3 rettangoli pieni uno nero uno blu e uno verde*/ HWND hwnd = FindWindow(NULL,"Immagine - Paint"); SetForegroundWindow(hwnd); Sleep(1000); //aspetto un po HDC hdc = GetDC(hwnd); GetCursorPos(&mouse);//posizione mouse printf("pos x=%ld\ty=%ld\n",mouse.x,mouse.y); COLORREF col = GetPixel(hwnd,mouse.x,mouse.y); printf("rosso:%d\nverde:%d\nblu:%d\n",getRValue(col),GetGValue(col),GetBValue(col)); ReleaseDC(hwnd,hdc); return 0; }
che vuole dire??? che la finesta dove è il pixel che voglio non è quella che gli passo io nella getDC???
come posso risolvere il problema??

Rispondi quotando