【问题标题】:Should UIImageJPEGRepresentation act the same on every iOS device?UIImageJPEGRepresentation 是否应该在每个 iOS 设备上都一样?
【发布时间】:2011-09-20 00:12:08
【问题描述】:

我正在使用 MGImageUtilities 库(使用 imageScaledToFitSize 方法)调整 UIImage 的大小。调整大小后,如果我打印创建的新 UIImage 的大小,则大小符合预期。

在第一次操作之后,我使用 ASIHTTP 库将压缩图像 (UIImageJPEGRepresentation(scaledImage, 0.7)) 发送到 Web 服务。

对于 iPad,图像以预期大小存储在服务器上。当我在 iPod (4gen) 上运行相同的代码时,图像的存储空间比原始版本大......你有什么提示吗?

【问题讨论】:

  • 如果您想出了自己问题的答案,如果问题过于本地化,请删除该问题,或者在这种情况下将其保留为答案并接受该答案,而不仅仅是编辑问题.这样人们就不会假设它仍然没有得到答复。等
  • 完成,感谢您的提示。

标签: objective-c ios resize-image


【解决方案1】:

我对以下概括感到满意:在 完全相同 iOS 版本上运行,并使用 完全相同 输入 UIImage,我会期望 您可以从 UIImageJPEGRepresentation 获得完全相同的字节,并具有相同的质量参数。*

当您说存储的图像更大时,您的意思是文件大小,对吗?不是实际的图像尺寸?什么是“预期大小”(你为什么期望它)?您确定在这种情况下输入源图像是相同的吗?


*注话虽如此,JPEG 编码器的唯一合同是它从源图像中以正确的尺寸吐出有效的 JPEG。我不在苹果公司工作。除了文档之外,API 的内部可以随意以任何随机方式运行,尤其是跨版本,并且可能在编码器中存在针对每个设备的优化(等),例如使用不同的手- 为某些 arm 平台构建程序集,或编码器做出的特定于环境的运行时选择。

【讨论】:

    【解决方案2】:

    MGImageUtilities 正在调整 UIImage 的大小,它将视网膜显示 DPI 应用于图像。它不是 72pixel/inch,而是 144p/i。所以我在网上搜索了一个更好的库,我想我发现了一些非常有用的东西:http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多