begin process at 2012 02 11 04:25:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

erreur couleur pixel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur couleur pixel

jeudi 9 février 2006 à 13:43:04 | erreur couleur pixel

DJtef

Je cherche à récupérer les coordonnées et la couleur du pixel pointé par la souris, dans une simple console dos, sous Dev C++, mais j'ai les 2 messages d'erreur :

cannot convert `HWND__*' to `HDC__*' in assignment
cannot convert `HDC__*' to `HWND__*' for argument `1' to `HDC__*


int main (int argc, char *argv[])
{
   // Déclarations locales
   HDC hand;
   POINT pt;
   COLORREF Pix;
   int R,G,B;
   int y,x;
  
   // Actions
do{  
   GetCursorPos(&pt);
   hand = WindowFromPoint(pt); //<--------------1ere erreur
   x = pt.x;
   y = pt.y;
   Pix = GetPixel(GetDC(hand), x, y);//<-----------2e erreur
   R = GetRValue(Pix);//->valeur du rouge (0-255)
   G = GetGValue(Pix);//->valeur du vert (0-255)
   B = GetBValue(Pix);//->valeur du bleu (0-255)
  
   cout << "x="<<x<<endl;
   cout << "y="<<y<<endl;
   cout << "R="<<R<<endl;
   cout << "G="<<G<<endl;
   cout << "B="<<B<<endl;
  
   clrscr();
   }
while (x>1);
  

   // retour au sytème d'exploitattion
   cout << endl;
   system("pause");
   return (0);  
}
jeudi 9 février 2006 à 14:16:09 | Re : erreur couleur pixel

sibi12

Réponse acceptée !
L'erreur est très simple... remplace HDC hand par HWND hand !

En fait, Getwindowsfrompoint renvoi le handle de la fenetre et non pas celui du device context.

XbY
-----
Admin du projet PrintTemplate

jeudi 9 février 2006 à 14:42:38 | Re : erreur couleur pixel

DJtef

Oui je n'ai plus les deux erreurs en effet mais un autre problème survient à la fabrication du .exe :
 
[Linker error] undefined reference to
 C:\Dev-Cpp\Makefile.win   [Build Error]  [ess_cons.exe] Error 1

et donc rien n se passe... je comprends pas ce que veut dire ce `GetPixel@12'...


jeudi 9 février 2006 à 14:44:30 | Re : erreur couleur pixel

DJtef

Pardon,  je rectifie :

Oui je n'ai plus les deux erreurs en effet mais un autre problème survient à la fabrication du .exe :
 
[Linker error] undefined reference to `GetPixel@12'...
 C:\Dev-Cpp\Makefile.win   [Build Error]  [ess_cons.exe] Error 1

et donc rien n se passe... je comprends pas ce que veut dire ce `GetPixel@12'...
jeudi 9 février 2006 à 14:49:45 | Re : erreur couleur pixel

Joky

Membre Club
Il faut ajouter Gdi32.lib dans les options du linker
On ne peut pas utiliser les fonctions gdi dans un programme console, enfin si, mais ça n'a pas beaucoup de sens, donc voilà, faut linker

if(!Meilleur("Joky")) return ERREUR;<

jeudi 9 février 2006 à 15:02:33 | Re : erreur couleur pixel

DJtef

Avec Dev c++ je ne vois pas du tout comment on fait, je suis allé dans "options du compilateur", puis sinon j'ai fait une recherche dans tous les dossier de gdi32.lib et je ne trouve rien. Peut-être qu'avec ce compilateur ça ne marche pas ainsi ?
jeudi 9 février 2006 à 15:09:38 | Re : erreur couleur pixel

wxccxw

Membre Club
on t'avai deja expliquer plus bas :)
moi meme :) il retoure en bas et tu a la reponse mais ajoute aussi la lib GDi32.lib comme te la preciser Joky.

bonne chance mais 2 fois exactement le meme topic :/
jeudi 9 février 2006 à 15:11:29 | Re : erreur couleur pixel

Joky

Membre Club
Réponse acceptée !
Tu fais : Projet -> Options du Projet -> Paramètres -> Editeur de liens et voilà tu cherches le fichier libgdi32.a dans le dossier lib de DevC++

if(!Meilleur("Joky")) return ERREUR;<

jeudi 9 février 2006 à 15:27:14 | Re : erreur couleur pixel

DJtef

Merci à vous trois, ça marche impec' !
jeudi 9 février 2006 à 16:25:08 | Re : erreur couleur pixel

DJtef

Le programme me donne bien la couleur du pixel pointé par la souris quand je suis sur le bureau, mais quand j'ouvre une fenêtre, ça correspond pas, j'ai l'impression que c'est décalé, ça me donne la valeur du pixel environ 5 cm en dessous. Je pense que le problème vient du fait que les coordonnées du pixel lui même par rapport à l'écran, ne sont pas les même que celle de la fenêtre ou change pour une handle donnée, c'est à dire quand je fais Pix = GetPixel(GetDC(hand), x, y), on dirait que ça ne prend pas la même origine que quand je fais GetCursorPos(&pt);
Savez vous ce que je dois rajouter ?

1 2

Cette discussion est classée dans : int, erreur, couleur, pixel, hdc


Répondre à ce message

Sujets en rapport avec ce message

couleur pixel [ par kirby94460 ] bonjour a tous vioici mon probleme :je veux recuperer la couleur d'un pixel sur une apllication flash (sa classname est ShockwaveFlash) voici mon code Bitmap et pixel [ par wxccxw ] Bonsoir, quelqu'un connaiterait-il la facon dont il faut s'y prendre pour charger un BMP de 320*240 et recuperer la couleur en R G B (0 a 255) de c Extraction morceau image et création fichier bmp [ par Oelth ] Bonjour, dans le cadre de mon projet de fin d'année de BTS, je dois entre autres à partir d'une photo de véhicule, reconnaitre la position de la plaqu Couleur d'un Pixel et dessin [ par wxccxw ] Bonjour,je suis en train de faire un colorimètre numérique, et lorsque que je recupere la couleur des pixels a la place de mon pointeur j'obtien toujo transformation de hough pour detecter les droites [ par djsarah ] Aidez-moi s'il vous plaît.....j'ai écrit l'algorithme de detection des lignes par méthode de transformation de hough mais il ne me donné pas aucun rés debug,flag ou drapeau [ par badsha ] bonjour a tous je voudrai savoir comment utiliser un debug par exemple int flag=0; if (flag==0) { int a[3]; int b[4]={1,2,3}; for(i=0;i<4;i++) a[i] Erreur de segmentation [ par cool2source ] Bon je dois encore avoir du mal avec les pointeurs ( visiblement)... Je compile le code ci-dessous avec gcc et le seul résultat que j'obtiens est : "E déclaration d'un pointeur sur un entier [ par iam_myst ] bonjour à tous j'aimerais savoir s'il est possbile de faire ceci:      int *tabcle = new int[56], *final = new int[48]; personellement ca me prov erreur de rédéfinition [ par poiuytrez3 ] Bonjour, je tente de faire un petit programme en C avec allegro, en utilisant des fonctions, mais là j'ai une erreur : error C2371: 'afficheSprite' : parcours en profondeur dans un graphe [ par Tavarez59282 ] Bonjour j'ai un sujet de tp à realiser sur les graphes à l'aide de listes d'adjacence et j'ai un incident de segmentation dans mon code lorsque j'exec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,576 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales