Palette couleur [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Statut
Membre
Dernière intervention
5 février 2008
-
Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Statut
Membre
Dernière intervention
5 février 2008
-
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?

2 réponses

Messages postés
2
Date d'inscription
samedi 2 décembre 2000
Statut
Membre
Dernière intervention
5 février 2008

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;
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
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.