Ios6 旋转点;CIVector仿射变换?

Ios6 旋转点;CIVector仿射变换?,ios6,cgpoint,ciimage,Ios6,Cgpoint,Ciimage,我有4个CG点,它们形成了一个不规则的图形。如何将该图形旋转90度并获得新的CG点 FWIW,当图形是CGRect时,我可以通过交换origin.x和origin.y以及宽度和高度来“伪造”这个。我需要做类似的事情(计算点之间的距离/方向)还是有一个仿射变换可以应用于CIVector 欢迎提供指向教程/指南的提示和/或指针 可跳过的项目背景: 用户将为文档拍照,应用程序将对其进行OCR。由于用户在获取非扭曲图像时遇到很多困难,我允许他们在文本体周围创建一个4点图形,应用程序会将其扭曲回矩形。进入

我有4个CG点,它们形成了一个不规则的图形。如何将该图形旋转90度并获得新的CG点

FWIW,当图形是CGRect时,我可以通过交换origin.x和origin.y以及宽度和高度来“伪造”这个。我需要做类似的事情(计算点之间的距离/方向)还是有一个仿射变换可以应用于CIVector

欢迎提供指向教程/指南的提示和/或指针

可跳过的项目背景:


用户将为文档拍照,应用程序将对其进行OCR。由于用户在获取非扭曲图像时遇到很多困难,我允许他们在文本体周围创建一个4点图形,应用程序会将其扭曲回矩形。进入的相机图像是CIImages,因此其原点已经在左下角,因此必须从UIView旋转4点图形以匹配…

为了记录,我使用CGAffineTransforms旋转点:

CGAffineTransform t1 = CGAffineTransformMakeTranslation(0, cropView.frame.size.height);
CGAffineTransform s = CGAffineTransformMakeScale(1, -1);
CGAffineTransform r = CGAffineTransformMakeRotation(90 * M_PI/180);
CGAffineTransform t2 = CGAffineTransformMakeTranslation(0, -cropView.frame.size.height);

CGPoint a = CGPointMake(70, 23);
a = CGPointApplyAffineTransform(a, t1);
a = CGPointApplyAffineTransform(a, s);
a = CGPointApplyAffineTransform(a, r);
a = CGPointApplyAffineTransform(a, t2);
&c。至于其他几点