爲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;