TWICImage: Как наложить прозрачный PNG на JPG?
Например, у нас есть базовое изображение в формате jpg: база JPG
И наложение изображения в формате PNG: прозрачный png
Это изображение я хочу получить в результате их слияния:
Мой вопрос: как получить этот результат, используя силу TWICImage?
Я могу загрузить оба изображения следующим образом:
function DoMerge: TWICImage;
var
wicJPG,
wicPNG: TWICImage;
begin
wicJPG := TWICImage.Create;
wicPNG := TWICImage.Create;
try
wicJPG.LoadFromFile('base.jpg');
wicPNG.LoadFromFile('overlay.png');
Result := wicJPG + wicPNG; // (pseudo-code) how?
finally
wicPNG.Free;
wicJPG.Free;
end;
end;
1 ответ
Решение
Я ничего не знаю о TWICImage
кроме того, что это TGraphic
потомок. Так что вы можете попробовать что-то вроде этого:
var
B: TBitmap;
B := TBitmap.Create;
try
B.Assign(wicJPG);
B.Canvas.Draw(0, 0, wicPNG);
Result := TWICImage.Create;
Result.Assign(B);
finally
B.Free;
end;
Я не могу проверить это сейчас.