正如您所看到的,Windows平台上的形状组件正常显示,非常流畅(包括线条,角落和渐变效果)。
但是在Android平台上,你会得到另一个不可接受的结果:线条不再平滑,角落无法关闭,渐变变为全黑。
这是怎么回事?以及如何解决?
这是.fmx文件内容:
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object RoundRect1: TRoundRect
Position.X = 40.000000000000000000
Position.Y = 16.000000000000000000
Size.Width = 153.000000000000000000
Size.Height = 65.000000000000000000
Size.PlatformDefault = False
Stroke.Color = claMediumslateblue
Stroke.Thickness = 8.000000000000000000
end
object Pie1: TPie
Position.X = 32.000000000000000000
Position.Y = 96.000000000000000000
Size.Width = 153.000000000000000000
Size.Height = 129.000000000000000000
Size.PlatformDefault = False
Stroke.Color = claChocolate
Stroke.Thickness = 8.000000000000000000
EndAngle = -90.000000000000000000
end
object Arc1: TArc
Position.X = 48.000000000000000000
Position.Y = 224.000000000000000000
Size.Width = 169.000000000000000000
Size.Height = 161.000000000000000000
Size.PlatformDefault = False
Stroke.Color = claDeeppink
Stroke.Thickness = 10.000000000000000000
StartAngle = 30.000000000000000000
EndAngle = 180.000000000000000000
end
object Arc2: TArc
Position.X = 16.000000000000000000
Position.Y = 184.000000000000000000
Size.Width = 233.000000000000000000
Size.Height = 233.000000000000000000
Size.PlatformDefault = False
Stroke.Kind = Gradient
Stroke.Gradient.Points = <
item
Color = xFF297E72
Offset = 0.000000000000000000
end
item
Color = xFFA6F2BD
Offset = 1.000000000000000000
end>
Stroke.Gradient.StartPosition.X = 0.500000000000000000
Stroke.Gradient.StartPosition.Y = 1.000000000000000000
Stroke.Gradient.StopPosition.X = 0.499999970197677600
Stroke.Gradient.StopPosition.Y = 0.000000000000000000
Stroke.Thickness = 20.000000000000000000
Stroke.Cap = Round
EndAngle = -90.000000000000000000
end
end
答案 0 :(得分:2)
我相信文档它说Strokes(行)上的渐变不适用于除Windows 2D渲染之外的任何东西。然而,我无法找到它所说的位置。如果您希望Windows版本使用3D,您可以执行以下操作:
initialization
FMX.Types.GlobalUseGPUCanvas := True;
您还可以按overriding the rendering parameters开启多重采样。最后,如果需要,可以使用native Android component作为原生绘图。