如:微信分享中,如果图片的大小好像大于50kbytes,就分享失败,而且没有任何提示。
创新互联专注于中大型企业的成都网站建设、网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户成百上千,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注品牌网站设计和互联网程序开发,在前进的路上,与客户一起成长!所以,我添加了两个函数:
一、修改当前图片的大小,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(0,0,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;
}
本文题目:IOS中修改图片的大小:修改分辨率和裁剪-创新互联
转载来源:http://scgulin.cn/article/djhjsi.html