gpt4 book ai didi

delphi - 如何在 Firemonkey 中创建径向渐变

转载 作者:行者123 更新时间:2023-12-03 15:12:58 26 4
gpt4 key购买 nike

我有一个 FireMonkey 表单,在表单的 OnPaint 事件上包含以下代码。我期待一个具有径向渐变的球,但我只得到一个红球,没有渐变。问题是我做错了什么。在 XE3 上运行。如果我将渐变样式更改为 gsLinear,我确实会得到线性渐变。我还必须指定其他内容才能显示径向渐变吗?

 procedure TForm2.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
var MyRect : TRectF;
begin
MyRect.Create (85, 85, 115, 115);

Canvas.Fill.Gradient.Style := TGradientStyle.gsRadial;
Canvas.Fill.Gradient.Color := claRed;
Canvas.Fill.Gradient.Color1 := claBlue;
Canvas.Fill.Kind := TBrushKind.bkGradient;
Canvas.FillEllipse (MyRect, 100);
end;

最佳答案

FireMonkey 中似乎存在错误。如果在 0,0 处绘制椭圆,则可以看到径向渐变。当椭圆在其他地方绘制时,渐变原点不会移动,而是保持在原点(尽管现在不可见)。截至今天,该错误显然已被报告,何时修复则是另一回事。解决方法是修补 FMX 源代码(但我没有补丁)或使用 TEllipse 组件。

关于delphi - 如何在 Firemonkey 中创建径向渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635372/

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