|
int i;
BYTE *Pixel8;
MainWin->ImageBox->Picture->Bitmap->PixelFormat = pf8bit;
MainWin->ImageBox->Picture->Bitmap->Width = 320;
MainWin->ImageBox->Picture->Bitmap->Height = 240;
for(i = 0; i < 240; i++)
{
Pixel8 = (BYTE *)MainWin->ImageBox->Picture->Bitmap->ScanLine[i];
CopyMemory(Pixel8, pBuffer + i * 320, 320);
}
MainWin->ImageBox->Refresh();
위와 같이 320 * 240 크기의 Image박스에 256컬러 비트맵을 출력하려고 하는데, 팔레트를 어떻게 설정해야할지 모르겠군요.
예제에 보니깐
typedef struct
{
TLogPalette lpal;
TPaletteEntry dummy[256];
} LogPal;
LogPal SysPal;
SysPal.lPal.palVersion = 0x300;
SysPal.lPal.palNumEntries = 256;
memcpy(SysPal.dummy, PalEntry, 1024);
MainWin->ImageBox->Picture->Bitmap->Palette = CreatePalette(SysPal.lPal);
뭐, 이런 식으로 처리하라고 나오기는 하는데, 팔레트와는 다른 색깔이 찍히거든요.. API쓰기는 좀 그런게 있어서, ScanLine에 뿌리는 방식으로 하고 싶은데, 방법이 없을까요?
|