lu *_*uan 3 uiimage nsdata ios
我们知道可以使用方法压缩图像,UIImageJPEGRepresentation()如下面的代码所示.
NSData *imgData = UIImageJPEGRepresentation(imageResized, 0.5);
NSLog(@"imgData.length :%d",imgData.length);
imageResized = [UIImage imageWithData:imgData];
NSData *imgData2 = UIImageJPEGRepresentation(imageResized, 1);
NSLog(@"imgData2.length :%d",imgData2.length);
Run Code Online (Sandbox Code Playgroud)
日志是:
2013-02-25 00:33:14.756 MyApp[1119:440b] imgData.length :371155
2013-02-25 00:33:20.988 MyApp[1119:440b] imgData2.length :1308415
Run Code Online (Sandbox Code Playgroud)
什么IM困惑的是,为什么length的imgData和imgData2是不同的.在我的应用程序中,图像应上传到服务器.我应该上传NSData到服务器以节省存储空间吗?Android手机可以下载NSData并将其转换为图像吗?任何帮助将不胜感激!
rma*_*ddy 13
你从UIImage一些大小(比如1024x768)开始.内存中需要1024x768x4个字节.然后用0.5倍压缩它,得到371,155字节.
然后UIImage使用压缩数据创建新的.这仍然是1024x768(或其他),UIImage因此它现在需要与原始图像相同的内存量(1024x768x4).然后,您将其转换为压缩较少的新JPG,为您提供1,308,415字节.
即使您创建压缩图像的未压缩版本,字节数也来自转换完整大小UIImage.第二个未压缩的图像虽然更大,但仍然具有相同的低质量压缩图像.
由于您的数据代表JPG,因此下载数据的任何内容都可以将数据视为JPG,包括Android手机.
| 归档时间: |
|
| 查看次数: |
5890 次 |
| 最近记录: |