所以我有一个画布(UIView)和一个 UIImageView,画布充当图像视图的蒙版
我正在使用 UIGestureRecognizers 来缩放和旋转画布下的 UIImageView。
我想转换最终图像(在画布中显示为 UIImage,一种解决方案是将画布转换为如下所示的图像
UIGraphicsBeginImageContext(self.canvas.bounds.size);
[self.canvas.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newCombinedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
现在这工作正常,但此解决方案的问题是图像被裁剪为画布的尺寸,因此分辨率非常低。
我探索的另一个选择是使用一些自定义 UIImage 类别来旋转和缩放。
[[[self.photoImage image] imageRotatedByDegrees:rotaton_angle]
imageAtRect:CGRectMake(x,y width,height)]
我需要提供旋转角度(UIGesture Delegate提供的旋转角度不是度数或弧度,然后有x,y,宽度,高度,我想这些需要根据一些比例计算,(我确实得到了比例值来自 UIGesture 委托,但它们似乎不适合此功能)
这里有许多解决方案,可以指导您在给定矩形的情况下裁剪和图像。但在我的情况下,矩形与图像的比例不同,也涉及旋转。
任何帮助将不胜感激。