Afficher une image + utilisation de getpixel [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
23 mars 2005
-
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013
-
Bonjour a tous,

Je suis débutant, je souhaiterais coder en C un petit programme me
permettant d'afficher une image jpg ou bmp à l'écran, puis en
fournissant les coordonnées d'un pixel, savoir si la couleur de celui
ci. J'utilise visual c++ et j'ai essayé d'utiliser la fonction
getpixel() mais je n'ai pas la librairie graphics.h et je ne la trouve
nulle part. En ce qui concerne ouvrir l'image je connais la fonction
fopen mais elle ne fait que charger l'image en mémoire il me semble.

Toute aide sera bienvenue, merci d'avance.

3 réponses

Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Salut !!

Deja le plus simple c'est pour charger un bmp

(HBITMAP)LoadImage(0,"chemin de ton fichier", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);



Ensuite en quoi tu programme pour ne pas avoir cette librairie sinon sur la msnd je viens de lire pour getpixel



Requirements



Windows NT/2000/XP: Included in Windows NT 3.1 and later.

Windows 95/98/Me: Included in Windows 95 and later.

Header: Declared in Wingdi.h; include Windows.h.

Library: Use Gdi32.lib.



Donc je suis pas sur que graphics.h soit necessaire !!!
Messages postés
3
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
23 mars 2005

Merci pour ton aide, j'aurais encore une derniere question.
La fonction GetPixel contient comme premier parametre une variable de type hdc (Handle to the device context), j'aimerais savoir quelle valeur je suis sense mettre, ou ou quelle fonction utiliser pour la determiner.
Merci.
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

selon l'endroit ou tu l utilise ya plusieur moyen de l'obtenir

Dans le WM_PAINT

HDC hdc;

case WM_PAINT:

{

if(wParam 0) hdc BeginPaint(hwnd, &ps);

else
hdc =
(HDC)wParam;



[....]

ton code

[...]



if(wParam == 0)

EndPaint(hwnd, &ps);



return 0; //selon tes besoins

}



Sinon ya

HDC hdc = GetDC(hwnd);

[...]

ton code

[...]

ReleaseDC(hwnd, hdc);