[英]FireMonkey: Missing Anti-Aliasing and jiggling effect on Android
我在 Delphi 10.4 (FMX) 中创建了一个带有 TArc 的进度 animation,但是在 Android 上运行应用程序时存在一些奇怪的渲染行为。
TArc 或 TLine 之类的简单形状似乎都没有抗锯齿功能。 将TForm.Quality
设置为HighQuality
似乎没有任何效果。
设置Arc1.Stroke.Cap:= TStrokeCap.Round;
似乎对 Android 没有影响。 两端根本不圆。 *
TFloatAnimation 似乎存在某种抖动问题,但我无法找出原因。*
*在 Windows (10) 上运行应用程序时,一切看起来和运行良好,但在 Android 上存在这些故障,我想知道问题出在哪里。 尤其是缺少抗锯齿功能。 智能手机上的显示器是高密度的,但缺失的抗锯齿功能仍然非常清晰可见。 这是从 Android 设备和运行 Windows 10 的台式 PC 捕获的视频:
这是一个示例代码:
Unit1.fmx
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 344
ClientWidth = 427
Fill.Color = claLightskyblue
Fill.Kind = Solid
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object Arc1: TArc
Align = Center
Size.Width = 60.000000000000000000
Size.Height = 60.000000000000000000
Size.PlatformDefault = False
Stroke.Color = claWhite
Stroke.Thickness = 5.000000000000000000
Stroke.Cap = Round
EndAngle = 90.000000000000000000
object FloatAnimationStartAngle: TFloatAnimation
Enabled = True
Duration = 2.000000000000000000
Loop = True
PropertyName = 'StartAngle'
StartValue = 0.000000000000000000
StopValue = 360.000000000000000000
end
object FloatAnimationEndAngle: TFloatAnimation
Enabled = True
Duration = 2.000000000000000000
OnFinish = FloatAnimationEndAngleFinish
PropertyName = 'EndAngle'
StartValue = 1.000000000000000000
StopValue = 360.000000000000000000
end
end
end
单元1.pas
// ...stripped code here at top...
implementation
var
increasing: Boolean = True;
{$R *.fmx}
procedure TForm1.FloatAnimationEndAngleFinish(Sender: TObject);
begin
FloatAnimationEndAngle.Enabled := false;
FloatAnimationEndAngle.Inverse := not FloatAnimationEndAngle.Inverse;
if increasing then
FloatAnimationEndAngle.Duration := FloatAnimationEndAngle.Duration * 2.0
else
FloatAnimationEndAngle.Duration := FloatAnimationEndAngle.Duration / 2.0;
increasing := not increasing;
FloatAnimationEndAngle.Enabled := true;
FloatAnimationEndAngle.Start();
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.