例如,我们有一个jpg格式的基本图像:
base jpg
以及png格式的叠加图片:
transparent 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;

最佳答案

除了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;


我现在无法测试。

10-07 12:04