2011-03-08 78 views
0

CGAffineTransformMakeRotation不会完美呈现旋转的图像。CGAffineTransformMakeRotation瑕疵

我有一个包含加号(+)的方形图像。

我用CGAffineTransformMakeRotation 45度(M_PI/4弧度)

如果旋转了45度的加号(+)号它应该看起来像一个十字架(X)旋转这个图像,而对角线之间的角度为90度。

在我的应用程序中,它与此有点不同。对角线之间的角度不完全是90度。它看起来像是在邻近的88和92,有一个粗略的近似值。

这是正常的CGAffineTransformMakeRotation函数还是这个错误? 如果是这样,我可以使用什么,而不是旋转图像?

回答

1

如果您在同一地点以不同颜色绘制图像的第二个副本,并将其旋转-45度,会发生什么?

如果加号的腿不对齐,我会说你手上可能有某种错误。不过,如果他们这样做,看起来你更可能看到绘图环境的人为因素 - 也许像素不是完全正方形或类似的东西。

+0

不错的主意,让我检查一下。 – erkanyildiz 2011-03-08 22:12:23

+0

经过检查你说的是什么,我发现问题是图像的宽度和高度是偶数。
200px的正方形没有精确的中心点。全部(100,100)(100,101)(101,100)和(101,101)是它的中心点。 我刚把它做成了201x201 px,并用101101作为中心。我所有的问题都消失了。 谢谢你节省时间。 – erkanyildiz 2011-03-10 22:17:14

+0

这很有趣 - 感谢您的跟进! – Caleb 2011-03-10 22:24:38

0

这也发生在我身上,当我试图在UIButton中旋转UIImageView。它使图像变得平坦。我仍然不确定为什么。

我修复它的方式是通过转换(旋转)整个UIButton,而不是它的UIImageView。