如何将CAShapeLayer坐标转换为CIRUCTangleFeature以进行手动裁剪

时间:2017-03-08 06:02:32

标签: ios crop core-image cashapelayer

我正在处理手动图像裁剪功能。为此我正在绘制CAShapeLayer,它有四个坐标,分别为topLeft,topRight,bottomRight和bottomLeft。用户可以平移点并选择裁剪区域。 我坚持将这些点转换为核心图像坐标,并使用CIPerspectiveTransform进一步裁剪。

1 个答案:

答案 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)