glipper
Messages postés246Date d'inscriptiondimanche 2 juin 2002StatutMembreDernière intervention11 septembre 2016
-
13 juil. 2006 à 00:08
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010
-
13 juil. 2006 à 15:14
bonjour,
j'ai reussi à charger une image depuis un fichier, et la faire apparaître dans un boutons (dans une dialogbox). J'ai donc procédé comme ceci :
HBITMAP hbmp;
BITMAP bmp;
hbmp = FileToBitmap("./photos/photo.jpg"); // charge l'image depuis un fichier
GetObject(hbmp,sizeof(bmp),&bmp); // apporte des informations sur la bitmap dont la taille en pixels
// on redimenssionne le bouton à la taille de la bitmap :
SetWindowPos(GetDlgItem(hwnd,IDC_PHOTO),NULL,20,60,bmp.bmWidth,bmp.bmHeight,SWP_SHOWWINDOW);
// on affiche le bitmap dans le bouton
SendMessage((GetDlgItem(hwnd, IDC_PHOTO)),BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)(hbmp));
Mais dans le cas où l'image est trop grosse, je voudrais l'afficher à une taille inférieur à sa taille d'origine (miniature !). La fonction Bitblt fonctionne avec des HDC, moi j'ai un HBITMAP. Comment dois-je m'y prendre ?
hbmp = FileToBitmap("./photos/photo.jpg"); // charge l'image depuis un fichier
GetObject(hbmp,sizeof(bmp),&bmp); // apporte des informations sur la bitmap dont la taille en pixels
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 13 juil. 2006 à 15:14
N'oublie pas de supprimer les handles créés après le SendMessage(...):
DeleteDC(hDC2);
DeleteDC(hDC3);
ReleaseDC(hwnd, hDC);
DeleteObject(hbmp_resized);