IOS中修改图片的大小:修改分辨率和裁剪
2018-07-20 来源:open-open
在IOS开发中,经常有限制图片文件大小的,有的用户图片很大,导致上传时间慢,造成问题。
如:微信分享中,如果图片的大小好像大于50kbytes,就分享失败,而且没有任何提示。
所以,我添加了两个函数:
一、修改当前图片的大小,newSize是新的size尺寸,这个方法帮助用户获取到更小的图片。
但是这个newSize的尺寸建议跟原图一样,不然图片就变形了。
- (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a graphics image context
UIGraphicsBeginImageContext(newSize);
// Tell the old image to draw in this new context, with the desired
// new size
[image drawInRect:CGRectMake(,,newSize.width,newSize.height)];
// Get the new image from the context
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
// End the context
UIGraphicsEndImageContext();
// Return the new image.
return newImage;
}
二、截图功能,实现用户想要截取图的RECT
- (UIImage *)getImageByCuttingImage:(UIImage *)image Rect:(CGRect)rect{
//大图bigImage
//定义myImageRect,截图的区域
CGRect myImageRect = rect;
UIImage* bigImage= image;
CGImageRef imageRef = bigImage.CGImage;
CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, myImageRect);
CGSize size;
size.width = rect.size.width;
size.height = rect.size.height;
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextDrawImage(context, myImageRect, subImageRef);
UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
return smallImage;
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇: php实现定时创建指定大小文件脚本
下一篇:Linq常见操作示例