我有一个要求,用户可以从中选择图像camera roll
,我的应用程序需要优化图像并将其上传到服务器。我正在使用ALAssets
库和自定义选择器让用户从中选择照片camera roll
。我能够完美地实现这一点,但文件大小增加时遇到问题。
问题如下:
当用户选择一张 1.7MB 的照片时(这是iOS
我尝试邮寄照片时报告的完整大小),当我直接从中获取字节ALAssetRepresentation
并将ALAsset
其转换NSData
为数据大小也是1.7MB。ALAssetRepresentation
但是,当我使用以下代码 获得 UIImage 时..
UIImage *selImage = [UIImage imageWithCGImage:[assetRepresentation fullResolutionImage] scale:[assetRepresentation scale]orientation:[assetRepresentationorientation]];
并将其转换UIImage
为NSData
使用UIImageJPEGRepresentation()
压缩质量 = 1.0f,NSData 大小几乎是原始大小(3.2MB)的两倍。
理想情况下不应该只有 1.7MB 吗?
正如预期的那样,当我将它保存到文件时,文件大小仍然为 3.2MB(我通过导入沙盒应用程序的文档文件夹使用 xcode 4.2 检查它)。但有趣的是,当我Preview
在我的 Mac 上打开文件并检查字节大小时,它显示为 1.7MB(原为 3.2MB),这非常令人困惑。
请帮忙..
提前致谢。