我有4个CGPoints形成一个不规则的图形。我如何旋转那个图形90度并得到新的CGPoints?
顺便说一句,当图形是CGRect时,我可以通过交换原点来"伪造"这一点。X和原点。Y,宽度和高度。我是否需要做一些类似的事情(计算点之间的距离/方向),或者有一个AffineTransform我可以应用到civvector ?
欢迎提示和/或指向教程/指南的指针。
项目背景:
用户将对文件拍照,应用程序将对其进行OCR。由于用户在获得非倾斜图像时遇到了很多麻烦,所以我允许他们在文本主体周围创建一个4点图形,然后应用程序将其倾斜回矩形。进入的相机图像是CIImages,因此它们的原点已经在左下角,所以4点图形必须从UIView旋转以匹配…
为了记录,我使用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。