8Bitなど、パレットのあるBitmapを読み込んで24(32)Bitで保存した場合グラフィックビューアなどで見ると色が化けてしまいます。これを防ぐには保存する前にビットマップが保持しているパレットを破棄する必要があります(TBitmapのPaletteプロパティに0を代入する)。
var
Bmp : TBitmap;
begin
{...いろいろな処理...}
//pf8Bit以上のときはパレットは要らない
if Bmp.PixelFormat in [pf15bit..pf32bit] then
Bmp.Palette := 0;//パレットを破棄
Bmp.SaveToFile(FileName);
{...いろいろな処理...}
end;
|