typedef struct
{
LOGPALETTE LogPal;
PALETTEENTRY dummy[256];
} SPalette;
SPalette exPalette;
void __fastcall TWin_Main::ConvertPalette(int pPaletteIndex, BYTE pR, BYTE pG, BYTE pB)
{
exPalette.LogPal.palPalEntry[pPaletteIndex].peRed = pR;
exPalette.LogPal.palPalEntry[pPaletteIndex].peGreen = pG;
exPalette.LogPal.palPalEntry[pPaletteIndex].peBlue = pB;
exPalette.LogPal.palVersion = 0x300;
exPalette.LogPal.palNumEntries = 256;
Image_Back->Picture->Bitmap->Palette = CreatePalette(&exPalette.LogPal);
Image_Back->Refresh();
Image_Sprite->Picture->Assign(Image_Back->Picture);
}
팔레트의 특정 부분의 값을 변환한 후, 이를 TImage에 재적용하는 소스입니다.
테스트 해봤는데, 변화가 없는 것 같아요.. 어디가 잘못된 것일까요?
////////////////////////////////////////////////
음.. 찍어보니까.. 특정 팔레트를 바꾸면, 원래 해당 좌표의 픽셀값이 알아서 근접한 색상값으로 바뀌네요..;;;; 이런 인공지능까진 필요없는데..ㅡ.ㅡ
팔레트 바꾼대로 이미지가 찍히게 하려면 어떻게 해야하는지..ㅠㅠ
|