首页 / IOS / ios mac 对照片进行JPEG压缩
ios mac 对照片进行JPEG压缩
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ios mac 对照片进行JPEG压缩,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1831字,纯文字阅读大概需要3分钟。
内容图文
![ios mac 对照片进行JPEG压缩](/upload/InfoBanner/zyjiaocheng/1047/56412af88cdc4a0e9299ee2ac1d41c49.jpg)
ios mac 对照片进行JPEG压缩
1. 在iOS上可以使用 API UIImageJPEGRepresentation 对照片数据进行JPEG压缩;
我们知道iOS其实是MAC OS 的移植,那么MAC上肯定也有相应的JPEG压缩方法;
在mac上了,找了NSImage的API没有发现直接的JPEG压缩方法;
但是有NSBitmapImageRep,下面来测试一下,iOS和MAC上的JPEG压缩是否一致;
2. 首先用iOS 来压缩一张照片
UIImage *timg = [UIImage imageWithContentsOfFile:@"/Users/cc/Desktop/testiOS/IMG_0420.PNG"]; for (int i = 0; i <10; i++) { NSData *cd = UIImageJPEGRepresentation(timg, (i+1)/10.0f); [cd writeToFile:[NSString stringWithFormat:@"/Users/cc/Desktop/testiOS/com%.1f.jpeg",(i+1)/10.0f] atomically:YES]; }
得到结果:(压缩比0.1~1.0)
3. MAC API对照片进行JPEG压缩
// 参数校验 if (argc!=4) { printf("参数错误,请检测!\n"); printf("本程序主要是对图片进行JPEG压缩\n"); printf("示例:./JPEGCompress /xxpath/imgfile /xxpath/out.jpeg 0.4 \n"); printf("参数一:要压缩的图片;参数二:输出路径;参数三:压缩比0.1~1.0之间\n"); return -1000; } NSString *inPath = [NSString stringWithCString:argv[1] encoding:NSUTF8StringEncoding]; NSString *outPath = [NSString stringWithCString:argv[2] encoding:NSUTF8StringEncoding]; float compress = [[NSString stringWithCString:argv[3] encoding:NSUTF8StringEncoding] floatValue]; NSImage *simg = [[NSImage alloc]initWithContentsOfFile:inPath]; NSData *imgDt = [simg TIFFRepresentation]; NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imgDt]; NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:compress] forKey:NSImageCompressionFactor]; imgDt = [imageRep representationUsingType:NSJPEGFileType properties:imageProps]; int ret = [imgDt writeToFile:outPath atomically:YES]; if (ret>0) { printf("in: %s\nout: %s\ncompress: %s\nSUCCESS\n",argv[1],argv[2],argv[3]); }else { printf("FAILURE!\n"); } return ret;
得到结果:压缩比(0.1~1.0)
4. 通过上面的结果,可以看出,同样的压缩比,压缩出来的照片大小是一样的;
但是我在比较上面相同大小文件的MD5时发现是不一样的;
所以理论上MAC和iOS上的JPEG压缩是一致的,但并不是完全一致!
原文:http://www.cnblogs.com/cocoajin/p/6755430.html
内容总结
以上是互联网集市为您收集整理的ios mac 对照片进行JPEG压缩全部内容,希望文章能够帮你解决ios mac 对照片进行JPEG压缩所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。