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开发:UIImage 图片处理:截图,缩放,设定大小,存储

图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)i...

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

图片的处理大概分 截图(capture),  缩放(scale), 设定大小(resize),  存储(save) 1.等比率缩放 - (UIImage *)scaleImage:(UII...

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

在IOS开发中,经常有限制图片文件大小的,有的用户图片很大,导致上传时间慢,造成问题。 如:微信分享中,如果图片的大小好像大于50kbytes,就分享失败,而且没有任何提示。 所以,我添加了两个函...

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

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

IOS修改图片的像素(高度和宽度)

假如我们在用UITabBarController的时候,quan'ha

ios 获取UIImage图片的像素尺寸

CGFloat fixelW = CGImageGetWidth(image.CGImage); CGFloat fixelH = CGImageGetHeight(image.CGImage);...
  • gx_wqm
  • gx_wqm
  • 2016年05月26日 22:50
  • 5834

iOS 图片显示中遇到的压缩与裁剪问题

先上一张截图:     我们假设要在截图中的举行图片展示区显示图片,由于原图片的宽高比例与图片显示窗口的宽高比例不一定相同,所以,直接将图片扔进去会改变图片的宽高比例,展示效果不好。   ...
  • worldzhy
  • worldzhy
  • 2015年01月04日 18:44
  • 25648

UIImage的imageOrientation属性 修改图片旋转了的bug

本回要从我们项目说起,今天测试的给我叫去,问我这个图片裁剪是不是有BUG,从手机相册里选的图(iOS设备)裁剪出来怎么就.....(省略好多字)。 当时本大侠就想 NND当时我做的时候就用模...

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
  • 3547

iOS 图片裁剪与修改

iOS 图片裁剪与修改
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS中修改图片的大小:修改分辨率和裁剪
举报原因:
原因补充:

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