Afficher une image BMP avec plus de 256 couleurs

adiltiss Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 24 février 2006 - 23 févr. 2006 à 02:58
adiltiss Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 24 février 2006 - 24 févr. 2006 à 01:52
bonjour;
j'arrive à affivher et à raffraichir une image BMP sur une boite de dialogue, mais la qualite est tres mauvaise.
je pense qu'elle est afficher juste avec 256 couleurs.
je veux l'afficher sur 255*255*255 couleurs

aider moi svp comme ça je peux pouvoir la traiter sur mon logiciel merci

3 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 févr. 2006 à 03:45
A la place d'utiliser un dialog, pourquoi n'utilise tu pas une fenêtre normal créé avec CreateWindow. Tu pourrais avec le DC de la fenetre créé une zone où afficher ton image en couleur 24 bits.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 févr. 2006 à 09:52
Une dialog est une fenêtre comme une autre, elle a simplement une defproc par défaut mais rien n'empêche d'y traiter WM_PAINT ou quelque autre message.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
adiltiss Messages postés 2 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 24 février 2006
24 févr. 2006 à 01:52
j'utilise l'icone de l'image en rectangle , je lui alloue une variable membre en etant juste un controle et non une value.
si tu peux m'aider a changer le nbr de couleur merci.
voici mon code pour charger et afficher l'image:

CBitmap Bitmap;
CRect rect1;
CDC DCMem;
m_img_princ.GetClientRect(rect1);
CDC *pBmpDC = m_img_princ.GetWindowDC();
HBITMAP hBitmap=(HBITMAP)LoadImage(NULL, m_chemin,IMAGE_BITMAP,0,0, LR_DEFAULTSIZE|LR_LOADFROMFILE);
Bitmap.Attach(hBitmap);
BITMAP InfosBmp;



Bitmap.GetBitmap(&InfosBmp);
DCMem.CreateCompatibleDC(pBmpDC);
DCMem.SelectObject(&Bitmap);


pBmpDC->StretchBlt( NULL , 0,rect1.Width(),rect1.Height(),&DCMem,0, 0,InfosBmp.bmWidth, InfosBmp.bmHeight,SRCCOPY);
m_img_princ.ReleaseDC(pBmpDC);
m_img_princ.InvalidateRect(rect1,FALSE);

ou je dois changer mon code pour l'afficher comme tu as dit si c'est possible bien sur.
0
Rejoignez-nous