对于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. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

  2. thinkphp添加空数据的解决办法

    thinkphp真是个麻烦的东西,各种小问题,其中字段映射的表单名不能与数据库的字段名称相同,否则会添加空数据! 还有自动完成的名称要与字段映射后的名称相同,否则自动完成不会起作用! 还有自动验证的字 ...

  3. 图片懒加载插件lazyload使用方法

    图片懒加载插件lazyload使用方法 一.如何使用: Lazy Load 依赖于 jQuery.引入文件 <script type="text/javascript" sr ...

  4. C# @符号的作用, 可定义关键字为变量名

    一 字符串中的用法字符@表示,其后的字符串是个“逐字字符串”(verbatim string).@只能对字符串常量作用.1.用于文件路径以下是引用片段:string s_FilePath =" ...

  5. ajaxfileupload.js

    jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' ...

  6. flume+elasticsearch

    项目的日志服是使用flume+elasticsearch 但是运维大哥告诉我,经常会大量往外发包,以至流量超标.问我是不是程序有问题.当时我拍着胸膛说:肯定不是.他说,可能是 服务器被攻击了,让我换一 ...

  7. Ajax Post 与 Get 实例

    Ajax的POST实例,index.html <html> <head> <script type="text/javascript"> fun ...

  8. WordPress插件开发实例教程 - 版权插件

    说明:本教程仅限学习,高手请绕道 开发程序:WordPress 3.9-RC1 使用主题:Twenty Fourteen 在开始之前,需要注意三件事情 I.给插件取一个个性化的名字,越个性化越好,以防 ...

  9. c++20701除法(刘汝佳1、2册第七章,暴搜解决)

    20701除法 难度级别: B: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述     输入正整数n,按从小到大的顺序输出所有 ...

  10. IOS第二天多线程-05NSOperationQueue 暂停,和恢复队列任务

    *********** #import "HMViewController.h" @interface HMViewController () <UITableViewDel ...