Назначение палитры Bitmap
Материал из DRKB
Если вы рисуете на TImage....
Во-первых, вам нужно использовать Image1.Picture.bitmap, а не Image.Canvas. Причина кроется в том, что Image1.Picture.Bitmap имеет палитру, в TImage нет.
Затем палитру необходимо назначить. Вот пример:
// Устанавливаем Width и Height перед использованием
// Image1.Picture c Bitmap Canvasvar
var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadfromFile({'Whatever.bmp'});
with Image2.Picture.Bitmap do
begin
Width := Bitmap.Width;
Height := Bitmap.Height;
Palette := Bitmap.Palette;
Canvas.Draw(0, 0, Bitmap);
Refresh;
end;
end;
Если вы рисуете на канве формы...
Canvas.Draw(0, 0, Bitmap);
SelectPalette(Form1.Canvas.Handle, Bitmap.Palette, True);
RealizePalette(Form1.Canvas.Handle);
Source: http://delphiworld.narod.ru/
ID: 03715
ID: 03771