将rect从一个系统转换为另一个系统

时间:2013-10-22 08:48:08

标签: ios objective-c uiimage geometry cgrect

我需要将CGRect从一个UIImage转换为另一个调整大小的UIImage。

例如,如果图像A(原始)大小= 100,100且矩形为{50,50,50,50}

在A'(目的地)尺寸= {50,50}需要将rect'(目标矩形)转换为{25,25,25,25}

想知道是否有可以为我做的功能?现在只是改变坐标系,但将来可能会旋转rects,它可能涉及一些复杂的三角函数 - 想保存它。

编辑: 添加图像以解释问题 Problem Definition

1 个答案:

答案 0 :(得分:1)

当然有一些助手可以使用。

CGAffineTransform是您正在寻找的那个:例如:

CGAffineTransform transform1 = CGAffineTransformMakeTranslation(-50, -50);
CGAffineTransform transform2 = CGAffineTransformMakeRotation(M_PI/2);
CGRect myRect = CGRectMake(100,100,100,100);
CGRect transformedRect = CGRectApplyAffineTransform(myRect, transform1);

检查CGAffineTransform.h是否有完整列表。