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 ...
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;
}
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...
che vuole dire??? che la finesta dove è il pixel che voglio non è quella che gli passo io nella getDC???
come posso risolvere il problema??