我正在尝试使用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)并且未对齐
[〜(0,0)处并对齐的多边形1(绿色)和多边形2(橙色)
我设法通过对多边形1 w.r.t进行归一化来使缩放的多边形2居中。点0,然后按上述方法缩放路径,最后使用从点0开始的偏移量移动两条路径。此外,需要将多边形2偏移到多边形1,为此,我使用了多边形1的Rect参数bottomCenter。