RGB-code hele tijd 255

Status
Niet open voor verdere reacties.

rodojo

Gebruiker
Lid geworden
17 mrt 2008
Berichten
110
Hallo,

Ik ben bezig om een programmatje(WIN32) te maken die de RGB-code laat zien van de pixel waar je met je muis opstaat. Alles doet het, er is ook geen foutmelding maar alle RGB-codes blijven op 255 staan, waar ik m'n muis ook zet. Ik had ergens gelezen dat de return ofzo dan -1 is waardoor de RGB-code automatisch 255 wordt. Maar ik weet het niet precies. Weet iemand wat ik moet doen om het echt werkend te krijgen?
Alvast bedankt!

Code die ik gebruik:
Code:
 POINT pos;   
 GetCursorPos(&pos);
 int x=pos.x;
 int y=pos.y;
    
COLORREF pixel;
HDC hdc_   = GetDC(GetDesktopWindow());
BYTE redValue, greenValue, blueValue; 
 pixel      = GetPixel(hdc_, x, y);
 redValue   = GetRValue(pixel);  
 greenValue = GetGValue(pixel);  
 blueValue  = GetBValue(pixel);
 
Ten eerste, maak altijd gebruik van exeption handeling anders weet je niet waar en wanneer iets fout gaat in je programma.

HDC hdc_ = GetWindowDC( NULL );
 
Weet iemand toevallig nog hoe je een pixel kunt vinden door middel van alleen de kleur(dus je weet de coördinaten niet)?
 
Dit is niet bepaald handig, elke pixel komt velen malen vaker voor. Je moet een lus in een lus maken, de x waarde van 0 tot het end op laten lopen en daarna de y waarde plus 1 en dan weer x laten optellen van 0 tot het end. Elke keer dat je een pixel verder gaat roep je de GetPixel functie gevolgd door de GetR/G/BValue funcite om de pixel te controleren. Je nu snapt denk ik nu al dat dit totaal onpraktisch is.
 
Ja, goed dat je het zegt, was die manier ff vergeten. Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan