-1

我有一些代码试图找出旋转-5度的矩形的正确边界框:

CGRect rectangleToRotate = CGRectMake(0,0,104.949, 131.017);
CGAffineTransform rotateTransform = CGAffineTransformMakeRotation((M_PI * -5) / 180);
CGRectApplyAffineTransform (rectangleToRotate, rotateTransform);

生成的结果是一个大小为:的矩形{115.968, 139.664},由于某种原因,它太大并且没有紧紧地包围矩形。然而,当我在 Adob​​e Illustrator 中采用相同的场景时,边界框是:{104.659, 132.143}这是正确的。

我到底在这里想念什么?

4

1 回答 1

3

我猜你在插画家做错了什么。旋转 5 度后,边界框应该如何变小(104.9 到 104.6)......那是错误的。

CGRect 结果非常正确。我在 Photoshop 中对其进行了测试。
一个 105x131px 的矩形将在 -5 度旋转后产生一个 117x141px 的边界框。

于 2012-11-05T10:50:11.177 回答