当我们想得到一张图的某一个部分的时候,可以使用CGImgaeRef来进行截图操作。
1. 首先了解CGImageRef:
CGImageRef: 位图的基本概念,可以点击看他的源码,是用C语言定义的。
可以通过它来创建像素位图,通过操作储存像素位图已达到裁剪图片的目的。
UIImage *originalImage = [UIImageimageNamed:@""];//原始图片
CGImageRef originalImageRef = originalImage.CGImage;//通过图片的 CGImage属性来获得原始图片的像素位图
CGImageRef finalImageRef =CGImageCreateWithImageInRect(originalImageRef,CGRectMake(0,0, originalImage.size.width -50, originalImage.size.height -50)); //两个参数:1.原始图片生成的位图;2.相对于原始位图,想要裁剪的区域
UIImage *finalImage = [UIImageimageWithCGImage:finalImageRef]; // 最后生成新图片
// 这样就生成了一个相对于原始图片宽高都少50像素的图片