IOS中修改图片的大小:修改分辨率和裁剪

原创 2015年07月13日 09:29:49

在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(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 修改image尺寸

在一次平铺展示中,UI给的图尺寸不对,于是我自己修改了图片的尺寸,代码如下: -(UIImage *)imageResize :(UIImage*)img andResizeTo:(CGSize)n...
  • icefishlily
  • icefishlily
  • 2017-03-27 15:53:42
  • 643

【iOS开发】修改图片的大小分辨率 使用mac

用预览打开图片,工具-》调整大小 -》单位改成像素 -》 关闭比例缩放 -》手工填写宽度和高度 -》好 -》保存...
  • liuchuo
  • liuchuo
  • 2016-09-16 23:34:41
  • 566

iOS 遍历图片每个像素点并修改rgb值

- (void)drawImage {     CGImageRef cgimage = [self.imageView.image CGImage];          size_t wi...
  • zhangqipu000
  • zhangqipu000
  • 2016-10-24 16:23:13
  • 3078

【学习ios之路:UI系列】修改图片的尺寸大小操作

1.在添加图片操作时,通过UIImage对象进行添加图片操作 1.[UIImage imageName:@"1.png"] 2.[UIImage imageWithContentsOfFile:@"1...
  • ZFX5130
  • ZFX5130
  • 2015-01-26 10:41:45
  • 2582

iOS开发之改变图片大小

向凡神致敬~ -(UIImage *)TransformtoSize:(CGSize)Newsize {     // 创建一个bitmap的context     UIGraphic...
  • WJP19930121
  • WJP19930121
  • 2016-05-26 16:26:24
  • 249

<em>iOS</em>中SDWebImage指定缓存<em>图片</em>大小

在<em>iOS</em>中使用SDImageView实现缓存<em>图片</em>,可以自己指定缓存<em>图片</em>的大小 ...TINA_1991424 2016-08-26 13:31:38 挺好的,就是还要自己<em>修改</em>的 夜流觞圈喵...
  • 2018年04月13日 00:00

UIImage 图片处理:截图,缩放,设定大小,存储

图片的处理大概分 截图(capture),  缩放(scale), 设定大小(resize),  存储(save) 1.等比率缩放 - (UIImage *)scaleImage:(UII...
  • xuhuan_wh
  • xuhuan_wh
  • 2011-05-20 11:38:00
  • 82404

iOS开发:UIImage 图片处理:截图,缩放,设定大小,存储

图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)i...
  • Kevindongkun
  • Kevindongkun
  • 2015-11-18 21:27:48
  • 4399

iOS图片占内存过大的问题完美解决

iOS开发中,必然会使用到显示图片.然而在你的APP中使用大量图片以后,检查内存时你会发现,哇!!!内 存已经超过200M甚至更多(模拟器中内存上不封顶).这时iPhone4很容易造成程序闪退,如果...
  • huyanpeng1988
  • huyanpeng1988
  • 2015-10-12 10:00:23
  • 11560

iOS image.size大小实际输出的值跟图片像素的关系

test.png (像素 20*20) test@2x.png(像素40*40) test@3x.png(像素 60*60) UIImage *image = [UIImage imageNam...
  • tabttoo
  • tabttoo
  • 2016-04-27 10:31:46
  • 4768
收藏助手
不良信息举报
您举报文章:IOS中修改图片的大小:修改分辨率和裁剪
举报原因:
原因补充:

(最多只允许输入30个字)