Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [c] catturare colore di un pixel
Forum - C/C++ - [c] catturare colore di un pixel

Avatar
indovinello (Normal User)
Newbie


Messaggi: 8
Iscritto: 08/10/2012

Segnala al moderatore
Postato alle 12:48
Lunedì, 08/10/2012
ciao a tutti... volevo chiedere se conoscete un modo per ottenere il colore di un pixel??

mi spiego meglio... io ho una finestra aperta e a volte in un certo punto della finestra compare una casellina bianca.... quando questa casellina compare io devo far partire tutta una serie di eventi...per la posizone della casella pensavo di ottenerla con una getcursorpos(), per rilevare il colore pensavo di usare una GetPixel (ho seri buddi che si possa usare in c ma è l'unica cosa che mi ha trovato google..) che dovrebbe ritornarmi il valore in formato rgb...
problema!!! che cosa devo metere nel campo hdc???? il valore di ritorno è un double , int char o che cosa?? come la configuro nel senso devo dichiarare qualcosa di preciso come nel caso della getcursorpos??

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 16:01
Lunedì, 08/10/2012


Ingegnere Informatico
https://ldlagency.it
PM Quote
Avatar
indovinello (Normal User)
Newbie


Messaggi: 8
Iscritto: 08/10/2012

Segnala al moderatore
Postato alle 17:07
Lunedì, 08/10/2012
grazie della risposta... ma non credo sia quelo che cerco...
da quanto capito mi sembra che il link sia una guida su come disegnare delle forme (in questo caso rettangoli)..


io invece ero interessato a capire come individuare il colore di un pixel posto in una posizione specifica..


girando per google ho trovato questo... potrebbe andare???
Codice sorgente - presumibilmente C/C++

  1. int main ()
  2. {
  3.         HWND hwnd = FindWindow(NULL,"pippo"); //invece che pippo metto il nome della finestra dove prendo il pixel
  4.         SetForegroundWindow(hwnd);
  5.         HDC hdc = GetDC(hwnd);
  6.         POINT mouse;
  7.  
  8.        GetCursorPos(&mouse);
  9.  
  10.        COLORREF col = GetPixel(hdc,mouse.x,mouse.y);
  11.  
  12.       printf("colore rosso =%d \t verde:%d \t blu=%d ",GetRValue(col),GetGValue(col),GetBValue(col));
  13.       ReleaseDC(hwnd,hdc);
  14. retunr 0;
  15. }





problem mi ritorna sempre 255.255.255!!!!!!!!!!!
perche:-?:-?:-?

Ultima modifica effettuata da indovinello il 09/10/2012 alle 14:34
PM Quote