GetPixel / SetPixel

Signaler
Messages postés
246
Date d'inscription
dimanche 2 juin 2002
Statut
Membre
Dernière intervention
11 septembre 2016
-
Messages postés
2
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
2 avril 2008
-
Bonjour à tous,
j'ai un problème avec la fonction GetPixel. J'appelle une procédure qui doit tester la couleur d'un pixel à l'ecran, mais la valeur renvoyée par GetPixel est toujours RGB(255,255,255).
J'ai donc essayé de faire un SetPixel juste avant mon GetPixel comme ceci :

SetPixel(hDC, XSCREEN/2, YSCREEN-5, RGB(100,28,49));
COLORREF color = GetPixel(hDC, XSCREEN/2, YSCREEN-5);

Mais la encore, la fonction renvoi toujours RGB(255,255,255). Je ne comprend pas...
Glipper

4 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
je pense que la valeur retournée est CLR_INVALID (0xFFFFFFFF), ce qui indique une erreur (le point n'est pas dans la zone de validité ou hdc n'est pas valide...)
Messages postés
246
Date d'inscription
dimanche 2 juin 2002
Statut
Membre
Dernière intervention
11 septembre 2016
1
J'ai trouvé...
une erreur bete en faite

Mon XSCREEN et mon YSCREEN sont des defines, qui renvoient vers la taille de ma fenetre :

#define XSCREEN 800
#define YSCREEN 600

Et quand je cree ma fenetre, elle a pour dimension :

...
CW_USEDEFAULT,
CW_USEDEFAULT,
XSCREEN,
YSCREEN,
...

Mais apparament la zone cliente de ma fenetre n'a pas pour dimenssion celle de ma fenetre (elle est plus petite que 800*600). Donc la zone de validité était invalide ;) ( SetPixel renvoyait -1 )

Merci beaucoup en tout cas :)

Glipper
Messages postés
351
Date d'inscription
samedi 2 février 2002
Statut
Membre
Dernière intervention
6 mai 2004
2
Si tu veux un accès facile au image essai de faire un recherche sur le web de CxImage qui permet de faire de getpixel et setpixel très rapidement.

be linux
Messages postés
2
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
2 avril 2008