gpt4 book ai didi

dart - Flutter - 如何使用 Canvas 围绕中心旋转图像

转载 作者:IT王子 更新时间:2023-10-29 06:50:00 25 4
gpt4 key购买 nike

我正在尝试实现一个自定义画家,它可以在 Canvas 上绘制图像(缩小版)并且绘制的图像可以旋转和缩放。

我知道要缩放图像我必须使用缩放方法缩放 Canvas 。

现在的问题是如何在其中心(或任何其他点)旋转缩放后的图像。 canvas 的 rotate 方法只允许在左上角旋转。

Here is my implementation that can be extended

最佳答案

Had the same problem , 解决方案是简单地在三行中制作你自己的旋转方法

void rotate(Canvas canvas, double cx, double cy, double angle) {
canvas.translate(cx, cy);
canvas.rotate(angle);
canvas.translate(-cx, -cy);
}

因此,我们首先将 Canvas 移向您想要旋转的点。然后我们沿着左上角(Flutter 的默认设置)旋转,它在坐标空间中是您想要的枢轴,然后将 Canvas 放回所需的位置,并应用旋转。该方法非常有效,只需要 4 次添加即可进行平移,并且旋转成本与原始成本相同。

关于dart - Flutter - 如何使用 Canvas 围绕中心旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51323233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com