图片的压缩和截取

来源:互联网 发布:数据库更改sql语句大全 编辑:程序博客网 时间:2024/06/10 18:54

iOS中经常会用到对UIImage的压缩截取的操作,核心的代码只有几行,怎么压缩和截取也要灵活运用。

压缩的核心代码

UIGraphicsBeginImageContext(size);创建一个基于位图的上下文,也就是你要重绘的图片的画布的大小

[image drawInRect:rect];把image图片绘到画布上,rect确定在画布上的坐标和范围

UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();把图片取出来,用UIImage对象接受

UIGraphicsEndImageContext();结束

上面的代码可以把图片压缩到你想要的大小,如果是等比例压缩,要自己按比例计算位图上下文的大小。

截取的核心代码

UIImage * newImage = [UIImage imageWithCGImage:CGImageCreateWithImageInRect([image CGImage], rect)];根据rect的坐标和范围,在image中截取出图片作为newImage,注意image的大小可能很大,远超屏幕的大小,这时你可能需要先把图片压缩再截取图片


0 0