进行图片裁剪并获得裁剪后的图片
最后一步就是对图片进行裁剪了。首先确定对图片的缩放尺寸 imageScale
CGFloat imageScale = MIN(self.bigImageView.frame.size.width/self.targetImage.size.width, self.bigImageView.frame.size.height/self.targetImage.size.height);
然后将 cropView 的裁剪区域对应到 UIImageView 上,再除以缩放值,即可得到对应 UIImage 上需要裁剪的区域
CGFloat cropX = (self.cropAreaX - self.bigImageView.frame.origin.x)/imageScale;
CGFloat cropY = (self.cropAreaY - self.bigImageView.frame.origin.y)/imageScale;
CGFloat cropWidth = self.cropAreaWidth/imageScale;
CGFloat cropHeight = self.cropAreaHeight/imageScale;
CGRect cropRect = CGRectMake(cropX, cropY, cropWidth, cropHeight);
最后调用 CoreGraphic 的方法,将图片对应区域的数据取出来生成新的图片,就是我们需要的裁剪后的图片了。
CGImageRef sourceImageRef = [self.targetImage CGImage];
CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, cropRect);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
源码下载:
github下载地址:点击这里
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。
注:相关教程知识阅读请移步到IOS开发频道。










