gpt4 book ai didi

java - 旋转的矩形改变位置

转载 作者:行者123 更新时间:2023-11-30 02:37:02 25 4
gpt4 key购买 nike

我正在尝试旋转一个矩形,我必须旋转 Canvas 才能这样做,但是矩形改变了它的位置,例如,如果旋转后矩形在屏幕中间,它会转到一边,我无法弄清楚如何让它回到中间。

这是我使用的代码:

    canvas.save();
canvas.rotate(45);
canvas.drawRect(width/2,height/2, width/2+200, height/2+200, paint);
canvas.restore();

有没有办法在不旋转 Canvas 的情况下旋转矩形,使其位置保持不变?

最佳答案

您的矩形中心与 Canvas 的轴心点不同。您可以尝试使用 the other rotate method指定枢轴点的 x/y 坐标。如:

int offset = 200;
int left = width/2;
int top = height/2;
int right = left + offset;
int bottom = top + offset;

canvas.save();
canvas.rotate(45, left + offset/2, top + offset/2);
canvas.drawRect(left, top, right, bottom, paint);
canvas.restore();

编辑:

刚刚测试了上面的代码并验证了它是否有效(考虑到我刚刚在上面添加的一些调整)。

关于java - 旋转的矩形改变位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373135/

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