gpt4 book ai didi

delphi - 如何以编程方式更改 Firemonkey 控件中的字体属性

转载 作者:行者123 更新时间:2023-12-02 03:48:25 25 4
gpt4 key购买 nike

我有一些代码可以绘制位于 TImage 之上的一组控件。然后我抓取 TImage 的 MakeScreenshot 来保存文件。现在效果很好。我现在正在努力解决的是更改一个或多个标签/文本样式控件的字体属性。无论我尝试什么,标签都不会改变。下面是我的示例代码:-

procedure TfrmSnapshot.Process;
var
LRect1, LRect2, LRect3, LRect4: TRectF;
X, Y, W, H: Integer;

begin
//
X := Round(Label1.Position.X);
Y := Round(Label1.Position.Y);
W := Round(X + Label1.Width);
H := Round(Y + Label1.Height);
LRect1.Create(X, Y, W, H);

X := Round(Label2.Position.X);
Y := Round(Label2.Position.Y);
W := Round(X + Label2.Width);
H := Round(Y + Label2.Height);
LRect2.Create(X, Y, W, H);

X := Round(Label3.Position.X);
Y := Round(Label3.Position.Y);
W := Round(X + Label3.Width);
H := Round(Y + Label3.Height);
LRect3.Create(X, Y, W, H);

X := Round(Rect1.Position.X);
Y := Round(Rect1.Position.Y);
W := Round(X + Rect1.Width);
H := Round(Y + Rect1.Height);
LRect4.Create(X, Y, W, H);

Label1.Text := fTitle;
Label1.Font.Size := 40.0;
Label2.Text := fSub;
Label3.Text := fSite;

With imgSnap.Bitmap Do
Begin
Label1.Font.Size = 40; //Does not work
Label1.Font.Family = 'Arial'; //Does not work
Label1.PaintTo(Canvas, LRect1);
Label2.PaintTo(Canvas, LRect2);
Label3.PaintTo(Canvas, LRect3);
Rect1.PaintTo(Canvas, LRect4);
End;

imgSnap.MakeScreenshot.SaveToFile('test.jpg');
end;

如何设置标签的字体,以便它们正确绘制并包含在屏幕截图中?

问候安东尼

最佳答案

在 firemonkey TLabel 属性 Font.Family 和 Font.Size 中设置样式。如果您想更改代码中的字体大小或系列,则需要禁用此属性的样式。要更改此设置,请正确设置属性 StyledSettings。

示例:

Label1.StyledSettings:=Label1.StyledSettings -[TStyledSetting.ssFamily,TStyledSetting.ssSize]

关于delphi - 如何以编程方式更改 Firemonkey 控件中的字体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com