Palette couleur [Résolu]

Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Dernière intervention
5 février 2008
- - Dernière réponse : max77max
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Dernière intervention
5 février 2008
- 5 févr. 2008 à 19:00
Bonjour,

Je travaille sur un bitmap 8 bits (l'image est binaire). Lorsque je l'affiche ou l'enregistre j'obtiens une image blanche et bleue.
J'aimerais pouvoir définir la couleur finale de l'image sans passer par une image rgb 24 bits (je n'ai besoin que d'image monochrome). J'ai essayé de changer la palette couleur, mais cette modification ne fait rien:

System::Drawing::Bitmap^ bmp = gcnew System::Drawing::Bitmap(W,H,System::Drawing::Imaging::PixelFormat::Format8bppIndexed);
   for (int i=0; i<255; i++)
   bmp->Palette->Entries[i]=System::Drawing::Color::FromArgb(128,128,128);// valeurs de test

Quelqu'un pourrait-il me dépanner?
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Dernière intervention
5 février 2008
3
Merci
OK, merci.

Pour ceux que ça intéresse, j'ai trouvé la cause du problème: on ne peut pas modifier directement la palette, il faut simplement passer par une palette intermédiaire puis recopier cette palette :

ColorPalette^ pal =  bitmap->Palette;
for (int i = 0; i < 255; i++)
    pal->Entries[i] = System::Drawing::Color::FromArgb(coulR,coulG,coulB);
bitmap->Palette=pal;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de max77max
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
11
0
Merci
Bienvenue,


Je ne peux pas te dépanner, mais tu trouveras ici la doc de la msdn sur le fonctionnement interne des bitmaps.


En gros, tu as quelques structures descriptives, un tableau d'indices
et la pallette. Tu devrais pouvoir t'en sortir sans passer par une
usine à gaz.
Commenter la réponse de cs_rt15

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.