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开发】修改图片的大小分辨率 使用mac

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

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

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

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

iOS小问题---设置TabBarItem的字体大小、颜色,各种状态下的图片

- (void)setTabBarItem:(UITabBarItem *)tabbar Title:(NSString *)title withTit...
  • sinat_24363257
  • sinat_24363257
  • 2015年01月15日 11:01
  • 10157

ios 改变图片大小缩放方法

-(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size {     UIGraphicsBeginImageCo...
  • u012198553
  • u012198553
  • 2015年01月23日 08:21
  • 1317

iOS展示超大图片或超高分辨率图片崩溃解决方法

前言: ID作为一款以IM为基础的办公软件,在用户使用过程中,经常会遇到一些超大的或者超高分辨率的图片(以下统一称:大图)。基于SDWebImage为基础的图片加载控件,在遇到此情况时,并没有提供十...
  • u014544904
  • u014544904
  • 2017年07月31日 15:04
  • 849

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

假如我们在用UITabBarController的时候,quan'ha
  • u014634245
  • u014634245
  • 2014年04月10日 15:24
  • 1461

根据自己设定的尺寸裁剪图片大小

这里我把根据图片指定大小裁剪图片的算法封装成一个方法如下: #pragma mark -裁剪图片 //需要传过来的参数有 : 图片 image 和 自定的尺寸 - (UI...
  • CloverZhu
  • CloverZhu
  • 2015年10月11日 22:13
  • 1980

sdwebimage 图片大小 处理

遇到问题    设置了一个宽高 固定的(1:1 )的 图片 用 sdwebimage 加载的时候显示出来的图片会被压缩或者拉伸,想让显示 一部分的图片(保持图片不变形) 所以对图片进行剪裁代码如下 ...
  • HuangShi_DaXia
  • HuangShi_DaXia
  • 2016年04月28日 09:45
  • 4587

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

图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)i...
  • Kevindongkun
  • Kevindongkun
  • 2015年11月18日 21:27
  • 4081
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS中修改图片的大小:修改分辨率和裁剪
举报原因:
原因补充:

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