使用TCanvas.DrawLine绘制连接线列表时,它们不会在iOS上连接,但它们在Windows上。以下是连接40个点的简单测试应用程序的结果:
在模拟器上定位iPad 2(非视网膜,但也发生在视网膜上)我明白了:
定位32位Windows我得到了这个:
测试应用程序中的代码(重现我在一个更复杂的应用程序中遇到的问题):
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。
我该怎么做才能解决这个问题?
修改