TGPImage с прозрачным цветом? - PullRequest
       21

TGPImage с прозрачным цветом?

0 голосов
/ 25 января 2019
headingGPImage := TGPImage.Create('heading.bmp');

изображение heading.bmp не имеет истинной прозрачности, но один из цветов должен рассматриваться как прозрачный. Как сделать это с TGPImage, чтобы он был передан с

var
  GPGraphics: TGPGraphics;
begin
  GPGraphics.DrawImage(headingGPImage, slider3.Position * 4, 200);
end;

используя прозрачный цвет?

1 Ответ

0 голосов
/ 25 января 2019

Работает для PNG и BMP с белым фоном:

var dest: TGPRect;

attr := TGPImageAttributes.Create;
attr.SetColorKey($FFFFFF, $FFFFFF);
dest.X := 0;
dest.Y := 0;
dest.Width := headingGPImage.GetWidth;
dest.Height := headingGPImage.GetHeight;
GPGraphics.DrawImage(headingGPImage, dest,
     0, 0, Round(headingGPImage.GetWidth), Round(headingGPImage.GetHeight), 
     UnitPixel, 
     attr);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...