TCanvas.DrawLine在Windows和iOS上的行为有所不同

时间:2015-12-08 16:00:31

标签: delphi firemonkey delphi-10-seattle

使用TCanvas.DrawLine绘制连接线列表时,它们不会在iOS上连接,但它们在Windows上。以下是连接40个点的简单测试应用程序的结果:

在模拟器上定位iPad 2(非视网膜,但也发生在视网膜上)我明白了:

enter image description here

定位32位Windows我得到了这个:

enter image description here

测试应用程序中的代码(重现我在一个更复杂的应用程序中遇到的问题):

var
  LineList: array[0..39] = (
    (X:8.00; Y:45.00),
    (X:14.00; Y:43.00),
    (X:21.00; Y:43.00),
    (X:27.00; Y:44.00),
    (X:31.00; Y:45.00),
    (X:37.00; Y:45.00),
    (X:40.00; Y:43.00),
    etc.
    );

procedure TForm24.PaintBox1Paint(Sender: TObject; Canvas: TCanvas);
var i: integer;
begin
  Canvas.BeginScene;
  Canvas.StrokeThickness := 6;
  Canvas.Stroke.Kind := TBrushKind.Solid;
  Canvas.Stroke.Color := $FF000000;
  for i := 1 to 39 do
    Canvas.DrawLine(LineList[i-1], LineList[i], 1.0);
  Canvas.EndScene;
end;

注意:问题会增加StrokeThickness的值。如果设置为1,问题就消失了。 我正在使用Delphi 10 Seattle update 1。

我该怎么做才能解决这个问题?

修改

此处报告为错误: https://quality.embarcadero.com/browse/RSP-13129

0 个答案:

没有答案