2023年12月21日发(作者:)
IOS中修改图片的大小:修改分辨率和裁剪
在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
[imagedrawInRect:CGRectMake(,,,)];
// Get the new image from the context
UIImage* newImage =UIGraphicsGetImageFromCurrentImageContext();
// End the context
UIGraphicsEndImageContext();
// Return the new image.
returnnewImage;
}
二、截图功能,实现用户想要截取图的RECT
- (UIImage*)getImageByCuttingImage:(UIImage*)image Rect:(CGRect)rect{
//大图bigImage
//定义myImageRect,截图的区域
CGRectmyImageRect = rect;
UIImage* bigImage= image;
CGImageRefimageRef = e;
CGImageRefsubImageRef =CGImageCreateWithImageInRect(imageRef, myImageRect);
CGSizesize;
= ;
= ;
UIGraphicsBeginImageContext(size);
CGContextRefcontext =UIGraphicsGetCurrentContext();
CGContextDrawImage(context, myImageRect, subImageRef);
UIImage* smallImage = [UIImageimageWithCGImage:subImageRef];
UIGraphicsEndImageContext();
returnsmallImage;
}


发布评论