我正在处理手动图像裁剪功能。为此我正在绘制CAShapeLayer,它有四个坐标,分别为topLeft,topRight,bottomRight和bottomLeft。用户可以平移点并选择裁剪区域。 我坚持将这些点转换为核心图像坐标,并使用CIPerspectiveTransform进一步裁剪。
答案 0 :(得分:0)
将图像设置为imageView并使用形状图层屏蔽imageView。
self.imageView = img
imageView.layer.mask = shapeLayer // set here your shape layer
现在你的imageView有裁剪图片。
从当前上下文获取图像,如下所示
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0);
imageView.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// check cropping image
let resultImageView = UIImageView(frame: self.view.frame)
resultImageView.image = image
self.view.addSubview(resultImageView)