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.