令我惊讶的是,我发现在 TCanvas 上重复渲染文本在某种程度上是“附加的”。我意识到设置Canvas.Brush.Style:=bsClear
是问题的原因,但我确实需要透明且重复地渲染文本(即在OnPaint
事件中)。这样做之后,文本看起来不太好。
我怎样才能避免这种情况?
这是一些示例代码;如果您在一个名为btn1
.
procedure TForm1.btn1Click(Sender: TObject);
begin
Form1.Canvas.Brush.Style:=bsClear; //if you omit this, everything is OK.
Form1.Canvas.Font.Color:=clRed;
Form1.Canvas.Font.Name:='Times new Roman';
Form1.Canvas.Font.Style:=[fsBold];
Form1.Canvas.Font.Size:=12;
Form1.Canvas.TextOut(50,50,'www.stackoverflow.com');
end;