【问题标题】:Flutter: Path scaling results in shapes not being aligned, how do i align?Flutter:路径缩放导致形状不对齐,我该如何对齐?
【发布时间】:2020-09-11 04:30:43
【问题描述】:

我正在尝试使用 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) 且未对齐

多边形 1(绿色)和多边形 2(橙色)在 ~ (0,0) 处并对齐

【问题讨论】:

    标签: flutter dart drawing polygon flutter-canvas


    【解决方案1】:

    我设法通过规范化polygon1 w.r.t 来使缩放的polygon2 居中。点 0,然后像上面一样缩放路径,最后使用从点 0 开始的偏移量来移动两条路径。此外,多边形 2 需要移动到多边形 1,为此我使用了多边形 1 的 Rect 参数 bottomCenter。

    【讨论】:

    • 你能用适合你的代码更新它吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    相关资源
    最近更新 更多