begin process at 2010 03 19 04:39:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Boite de dialogue Afficher une image 256niveaux


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

Boite de dialogue Afficher une image 256niveaux

vendredi 28 octobre 2005 à 13:44:17 | Boite de dialogue Afficher une image 256niveaux

SyN42

Bonjour,

Dans ma boite de dialogue j'affiche une image dans un 1er temps en couleur avec la fonction StretchDIBits

int OldMode = SetStretchBltMode(c->GetSafeHdc(),COLORONCOLOR);
StretchDIBits(c->GetSafeHdc()
                        ,0,rect.bottom,rect.right,-rect.bottom,
                        0,0,bmi.bmiHeader.biWidth,
                        bmi.bmiHeader.biHeight,
                        buffer,
                        &bmi,
                        DIB_RGB_COLORS,SRCCOPY);
SetStretchBltMode(c->GetSafeHdc(),OldMode);           

c est mon CDC*.
buffer mon pointeur pixel
et bmi mon BITMAPINFO

J'extrait le plan bleu de cette image et lorsque je veux l'afficher, j'obtiens des couleurs qui sont tous sauf du niveau de gris.
Je pense a un probleme de palette mais je ne sais pas trop comment la remplir mon BITMAPINFO bmi.bmiColors

  for (int i=0; i <256; i++)
  {
        bmi.bmiColors[i].rgbBlue = i;
        bmi.bmiColors[i].rgbGreen = 0;
        bmi.bmiColors[i].rgbRed = 0;
        bmi.bmiColors[i].rgbReserved = 0;
   }

ca ne marche pas...

Merci pour votre aide.
vendredi 28 octobre 2005 à 15:04:02 | Re : Boite de dialogue Afficher une image 256niveaux

SyN42

Apparament,
for (int i=0; i <256; i++)
  {
        bmi.bmiColors[i].rgbBlue = i;
        bmi.bmiColors[i].rgbGreen = 0;
        bmi.bmiColors[i].rgbRed = 0;
        bmi.bmiColors[i].rgbReserved = 0;
   }

ne marche pas car bmi.bmiColors est déclaré dans windows en tagRGBQUAD[1]!

alors qu'il devrait etre tagRGBQUAD[256]
comment puis-je remédier au problème?
vendredi 28 octobre 2005 à 17:29:23 | Re : Boite de dialogue Afficher une image 256niveaux

PLUiK

Salut
Je pense que tu peux allouer la mémoire dynamiquement (enfin c'est ce que je pense):
BITMAPINFO* pbmi = sizeof (BITMAPFINFO) + 255 * (sizeof (RGBQUAD)); //255 car la structure BITMAPINFO en a déjà un, enfin si je ne me trompe pas ^^
et n'oublie pas le free

mercredi 2 novembre 2005 à 17:37:09 | Re : Boite de dialogue Afficher une image 256niveaux

SyN42

Si je peux me permettre, tu n'alloue rien comme ca tu met égale un pointeur a un entier.. Le compilateur n'aime pas trop..
jeudi 3 novembre 2005 à 13:51:39 | Re : Boite de dialogue Afficher une image 256niveaux

PLUiK

Mince me suis trompé ! Il manque le malloc et il y a aussi d'autres fautes... Désolé, je rectifie:
BITMAPINFO* pbmi = malloc (sizeof (BITMAPFINFO) + 255 * sizeof (RGBQUAD));


Cette discussion est classée dans : image, boite, dialogue, bmi, bmicolors


Répondre à ce message

Sujets en rapport avec ce message

Affichage d'une image de fond dans une boite de dialogue [ par Calimero150 ] Coucou tout le monde!Je cherche un moyen d'afficher une image de fond dans une boite de dialogue donc si quelqu'un peut m'aider, qu'il n'hésite pas! M charger une image dans une boite de dialogue [ par lysane ] j'ai creer une application win32 de type dialog baseje souhaiterai charger une image de fond qui se trouve dans un fichier a partj'ai trouver sur le s L'image n'apparait pas dans la boite à dialogue. [ par marcel6566 ] VC++6 - MFCJ'ai créé une boite à dialogue lié à la class CIMAGE et je voudrais afficher l'image IDB_BITMAP1 dedans.J'ai défini CBitmap image;J'ai rajo Insérer une image de fond sur une boite de dialogue [ par bethany ] Bonjour,Un ami du forum, glipper, m'a bien aidé à faire une treeview dans une boite de dialogue. Maintenant c'est vrai que le fond gris ca rend pas gé Affichage d'une image dans une boite de dialogue [ par meem ] Bonjour,J'essaie d'afficher un bitmap dans une boite de dialogue sous VC++.NET.Voici le code que j'utilise :void InterfaceContour::OnBnClickedButton1( Intégrer une image JPEG dans une Boite de dialogue en MFC [ par picinounours51 ] Salut,Je voudrais savoir comment on crée une boite de dialogue MFC et intégrer une image JPEG dans celle-ci.J'ai essayé de comprendre en lisant différ Afficher une Image bmp dans une boite de dialogue??? [ par Khymerion ] Bonjour, je suis débutant et j'ai un projet informatique pour mon école pour lequel j'ai besoin d'afficher une image dans une boite de dialogue. De pl Insertion d'image dans une boite de dialogue (MFC) [ par tigerskin ] Bonjour !Quelqu'un pourrait-il me dire quelle est la fonction qui permet d'insérer une image dans une boîte de dialogue, sachant que j'utilise les MFC Image de fond Boite de dialogue MFC [ par Caleos ] Bonjour, voilà j'ai remarqué que beaucoup de sujet a propos de mon probleme ont été posé mais aucun d'eux ( ou je n'ai vraiment pas fait attention) ne Afficher mon image ds ma boite de dialogue [ par moumoucha ] Bonsoir;est ce ke kelk'un a une idée sur comment afficher une image dans une boite de dialogueSVP,j'ai besoin d'un code en c++.Je suis vrmnt blokée ;a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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 : 0,109 sec (4)

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