ris*_*shi 5 iphone objective-c uiimagepickercontroller uiimage ios
从图像中选择图像UIImageController并计算其大小时,图像大小会有变化,即磁盘中图像的大小不同.
有没有办法获得合适的尺寸?
我试过的 -
UIImagePNGReprensentation&将图像转换为数据UIImageJPEGReprensentation.这种方法的问题 - 一个.这种方法耗费内存,因此看起来不太好.
湾 大小不一,我可以理解它将图像转换为数据然后计算大小,因此大小不同.
但无论我搜索到什么,每一个接受的答案都是围绕着这个.
ALAssetsLibrary获得的图像尺寸,但由此计算尺寸也不符磁盘的大小.我使用了以下方法 - assetForURL: resultBlock:^(ALAsset *asset) failureBlock:
CGImageRef方法CGImageGetBytesPerRow,但这也没有给出期望的结果.还有其他任何我错过的方法吗?
编辑 -
所以这是尺寸差异 -
当我在finder中检查图像大小时 - 5.3 MB
当我使用 - 检查UIImage对象大小时 -
UIImageJPEGRepresentation(图像.1.0) - 2.29 MB
当我使用ALAsset Library检查图像大小时 - 4.4 MB
Tar*_*agi -1
我需要类似的东西并遇到了同样的问题。事实证明,稍微调整一下品质因数就可以实现这一点。
UIImageJPEGRepresentation(image, 0.67)
Run Code Online (Sandbox Code Playgroud)
理想情况下,quality应该1.0以最精确的形式计算图像尺寸。结果它为您提供了异常大的 1.0 质量值。
我在任何地方都找不到此记录,必须将上述解决方案保留在我的照片应用程序中。对于我的用例来说,它运行得很好。这并不理想,您可能需要进一步调整它以最适合您的用例。
| 归档时间: |
|
| 查看次数: |
500 次 |
| 最近记录: |