Используя graphics32, нарисуйте изображение полупрозрачным поверх другого изображения - PullRequest
0 голосов
/ 03 октября 2019

Я чувствую, что это должно быть просто, и что мне не хватает хитрости, но я не могу найти то, что мне нужно. У меня есть два компонента graphics32 TImage32, imSelect и imHighlight .

imSelect содержит это изображение:

background image

imHighlight имеет это изображение:

highlight image

Я пытаюсь получить результат, который выглядит следующим образом, с imHighlightнарисован поверх 50% непрозрачности:

desired result

Но все, что я могу получить, это:

incorrect result

Мой текущий код такой:

procedure TfrmMain.MergeImages;
begin
  imSelect.Bitmap.Assign(imOrig.Picture.Bitmap);
  imSelect.Bitmap.DrawMode := dmTransparent;

  imHighlight.DrawMode := dmTransparent;
  imHighlight.Bitmap.MasterAlpha := 32;
  imSelect.Bitmap.Draw(0, 0, imHighlight);
end;

Я пытался поиграться с разными значениями DrawModes и MasterAlpha, но результаты, которые я получаю, странные, а не то, что яищу.

Спасибо за любую помощь!

...