对于jpg图片来说,有损压缩因子设置为0.5 可以大大减少图片的体积,而对图片的质量几乎没有太大影响:

下面是测试图片结果:

 
 

// UIImage *image_jpg = [UIImage imageNamed:@"jpgtest.jpg"];

// UIImage *image_png = [UIImage imageNamed:@"pngtest-1.png"];

//

// NSData *data_pngfrompng = UIImagePNGRepresentation(image_png);

// NSData *data_pngfromjpg = UIImagePNGRepresentation(image_jpg);

// NSData *data_jpgfrompng = UIImageJPEGRepresentation(image_png, 0.5);

// NSData *data_jpgfromjpg = UIImageJPEGRepresentation(image_jpg, 0.5);

//

// NSString *documents = [NSHomeDirectory() stringByAppendingString:@"/Documents/"];

//

// NSString *pathpngfrompng = [documents stringByAppendingString:@"data_pngfrompng.png"];

// NSString *pathpngfromjpg = [documents stringByAppendingString:@"data_pngfromjpg.png"];

// NSString *pathjpgfrompng = [documents stringByAppendingString:@"data_jpgfrompng.jpg"];

// NSString *pathjpgfromjpg = [documents stringByAppendingString:@"data_jpgfromjpg.jpg"];

//

// [data_pngfrompng writeToFile:pathpngfrompng atomically:YES];

// [data_pngfromjpg writeToFile:pathpngfromjpg atomically:YES];

// [data_jpgfrompng writeToFile:pathjpgfrompng atomically:YES];

// [data_jpgfromjpg writeToFile:pathjpgfromjpg atomically:YES];

UIImage *image_jpg = [UIImage
imageNamed:@"2231249403.jpg"];

NSData *data_jpgfromjpg = 
UIImageJPEGRepresentation(image_jpg, 0.5);

NSString *documents = [NSHomeDirectory()
stringByAppendingString:@"/Documents/"];

NSString *pathjpgfromjpg = [documents 
stringByAppendingString:@"datcccc.jpg"];
[data_jpgfromjpg
writeToFile:pathjpgfromjpg 
atomically:YES];

NSLog(@"documents=%@",documents);

随机推荐

  1. 基于S5PC100裸机程序之SPI(上)

    作者:杨老师,华清远见嵌入式学院讲师. SPI作为应用最为广泛的通信总线协议之一,开发人员应当掌握,本章将介绍SPI总线协议的基本理论,以及S5PC100的SPI总线控制器的操作方法. 1. SPI总 ...

  2. 去掉tppabs冗余代码,怎样批量去掉tppabs代码

    去掉tppabs冗余代码,怎样批量去掉tppabs代码 刚用teleport pro拉了一个整站到本地 所有的超链都被强行加了一句tppabs="   就玩了一把dw的替换功能 查找范围:整 ...

  3. [转] 擎天哥as3教程系列第二回——性能优化

    所谓性能优化主要是让游戏loading和运行的时候不卡. 一  优化fla导出的swf的体积? 1,  在flash中,舞台上的元件最多,生成的swf越大,库里面有连接名的元件越多,swf越大.当舞台 ...

  4. android-发送短信

  5. 练习一:SQLite基本操作

    一.基础知识: 运用场景: 1>应用运行需要保存一系列有一定关系有一定结构的数据(文本也可以但是存储效率低) 2>文件类型:.db(一个数据库就是一个.db文件) 3>路径:/dat ...

  6. Unity3D游戏引擎最详尽基础教程

    第一节 加入重力 我们先打开Unity3d,新建一个场景(Scene),新建的时候应该会有对话框要求你加入哪些Asset Package,记得选择Physics Material,因为后面我们一定要用 ...

  7. 【HDU4419 Colourful Rectangle】 线段树面积并

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4419 题目大意:给你n个矩形,每个矩形都有一种颜色,矩形覆盖会出现另外一种颜色,问你所有矩形中不同的颜 ...

  8. java类加载器的层次结构

    类加载器的层次结构: 引导类加载器(bootstrap class loader) 用来加载java的核心库(JAVA_HOME/jre/lib/rt.jar,或sun.boot.class.path ...

  9. php获取真实IP地址

    function user_realip() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (g ...

  10. JavaScript原型链问题

    1. 使用new来创建对象(调用构造函数)时,如果return的是非对象(数字.字符串.布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象. 2. 重写原型会切断原型链: foo = ...