Flutter:路径缩放会导致形状未对齐,如何对齐?

问题描述 投票:0回答:1

我正在尝试使用CustomPainter绘制多边形,这工作正常。然后,我想绘制一个与其下方的第一个相同的第二个多边形,但大小是X倍。目前,我正在改变路径,例如:

polygon1 = new Path();
polygon1.addPolygon(polygonPoints, true);

double scale = 1.5;
Matrix4 matrix4 = Matrix4.identity()
    ..scale(scale,scale,0);
Path polygon2 = Path.from(polygon1)
    ..transform(matrix4.storage);

然而,似乎polygon2也被翻译了,这是不希望的。我希望它完全位于多边形1的后面。

我该如何实现?

参考图片:

[多边形1(绿色)和多边形2(橙色)远离(0,0)并且未对齐

enter image description here

[〜(0,0)处并对齐的多边形1(绿色)和多边形2(橙色)

enter image description here

flutter dart drawing polygon flutter-canvas
1个回答
0
投票

我设法通过对多边形1 w.r.t进行归一化来使缩放的多边形2居中。点0,然后按上述方法缩放路径,最后使用从点0开始的偏移量移动两条路径。此外,需要将多边形2偏移到多边形1,为此,我使用了多边形1的Rect参数bottomCenter。

© www.soinside.com 2019 - 2024. All rights reserved.