Witam,
Niech mi jakaś mądra głowa powie, jak to jest z tymi bitmapami z paletą kolorów. Prawie żywcem z helpa kod:
typedef struct{
TLogPalette lpal;
TPaletteEntry dummy[256];
}LogPal;
// IBmp4 - to TImage *
void __fastcall TForm1::Button16Click(TObject *Sender)
{
IBmp4->Picture->Bitmap->LoadFromFile("test256.bmp");
LogPal Pltt;
Pltt.lpal.palVersion = 0x300;
Pltt.lpal.palNumEntries = 256;
for(int i = 0; i < 256; i++){
Pltt.dummy[i].peRed = i;
Pltt.dummy[i].peGreen = i;// * 3;
Pltt.dummy[i].peBlue = i;// * 2;
Pltt.dummy[i].peFlags = 0;//PC_NOCOLLAPSE;
}
IBmp4->Picture->Bitmap->Palette = CreatePalette((const tagLOGPALETTE *)&Pltt.lpal);
IBmp4->Invalidate();
}
Mam testową bitmapę zrobioną w Paint'cie. Zapisana jako 256 kolorów. Przedstawia paski w różnych kolorach. Po ustawieniu kolorów w pętli - każdy różny, niektóre paski mają ten sam kolor. Jeśli użyję zakomentarzowanych *2 i *3 to każdy pasek jest różny. Czy te kolory są mapowane??
Kombinowałem z peFlags i żadnych rezultatów.
Najbardziej zależałoby mi na zrobieniu bitmapy 4-kolorowej (2bpp).