gpt4 book ai didi

Android 旋转矩形和理解 Canvas

转载 作者:行者123 更新时间:2023-11-30 01:49:59 27 4
gpt4 key购买 nike

我正在考虑制作如下所示的东西:

Image I want

它基本上是左上角的一个矩形形状,它已经旋转,然后在它下面有两个,像它一样平铺。我尝试过这样做,但就是无法完成,基本上我使用:

int x = getWidth();
int y = getHeight();
canvas.save();
canvas.rotate(-45);
canvas.drawRect(x/2, y/2, x/2+100, y/2+40, paint);
canvas.restore();

而且我注意到应该是靠近屏幕中心旋转的矩形,而不是屏幕右上角的矩形。当我尝试做类似于 (0,0, 100,100) 的事情时,我根本没有得到任何矩形。

我想我很困惑当 Canvas 旋转完成时坐标系是否会改变,以及在 android 上获取上面图像的最简单方法是什么(除了在 photoshop 中创建它并添加 png ).

最佳答案

单个参数 rotate(angle)将使用 0,0 作为轴心点。

如果你想围绕你的对象旋转,你应该计算它上面的一些点来旋转并使用 3 参数 rotate(angle, pivotX, pivotY) ,即:

int x = getWidth();
int y = getHeight();
canvas.save();
canvas.rotate(-45, x / 2, y / 2);
canvas.drawRect(x / 2, y / 2, x / 2 + 100, y / 2 + 40, paint);
canvas.restore();

我做你的设计只是为了好玩:

int x = getWidth();
canvas.rotate(-45);
canvas.drawRect(-x, 0, x, h, green);
canvas.drawRect(-x, h, 0, 2 * h, purple);
canvas.drawRect(0, h, x, 2 * h, blue);

其中 h 是矩形的高度。

关于Android 旋转矩形和理解 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205747/

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