为TBitmap添加Mask模板-1-
var
lmaskbmp, ltargetbmp: TBitmap;
lmsk: PByteArray;
begin
lmaskbmp:= TBitmap.create;
ltargetbmp:= TBitmap.Create;
try
lmaskbmp.LoadFromFile(inFN); // mask png file
lmsk := lmaskbmp.CreateMask;
ltargetbmp.SetSize(lmaskbmp.width, lmaskbmp.height);
//绘制 targetbmp,图像大小需与lmaskbmp大小一致。
ltargetbmp.Clear(TAlphaColorRec.White);
//...
//使Mask生效
ltargetbmp.ApplyMask(lmsk);
// ... 对ltargetbmp的其他处理
// ...
finally
FreeMem(lmsk);
lmaskbmp.Free;
ltargetbmp.Free;
end;
end;