6
我正在为我的项目编写简单的图像编辑器。如何在彩色文本下绘制TCanvas上没有白色背景的文本?
在那里,你可以看到在编辑器中的图像:
以上的TImage,我把几的TLabel。
在预览你可以看到图像绘制TLabels结果:
绘制TLabels我写了这个代码:
procedure TPrintForm.BuildPreview(aSsignTo: TImage);
var
Img: TBitmap;
i: Integer;
begin
Img := TBitmap.Create;
try
Img.Assign(fSrcBitmap);
for i := 0 to Count - 1 do
begin
Img.Canvas.Font := Items[i].Text.Font;
Img.Canvas.TextOut(Items[i].Text.BoundsRect.TopLeft.X - Items[i].Text.Font.Size,
Items[i].Text.BoundsRect.TopLeft.Y - Items[i].Text.Height -
Items[i].Text.Font.Size, Items[i].Text.Caption);
end;
aSsignTo.Picture.Assign(Img);
finally
FreeAndNil(Img);
end;
end;
至于结果,我有图像,其中drawed的TLabel有文本下的白色背景。如何在没有它的情况下绘制TLabel?