图片的压缩和截取

本文介绍了在iOS开发中UIImage的压缩与截取方法,包括如何使用UIGraphicsBeginImageContext创建位图上下文来调整图片大小以及如何通过UIImageimageWithCGImage实现图片的精确截取。

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的大小可能很大,远超屏幕的大小,这时你可能需要先把图片压缩再截取图片


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值