iOS不尊重jpeg图像32MP限制 - 如何修复

时间:2014-07-20 02:09:59

标签: ios iphone ipad jpeg limit

作为标题状态和谷歌上的搜索可以给出,在iOS上,设备可以处理jpeg图像的限制。 根据Apple docs (Know iOS Resource Limits)

  

由于iOS上可用内存,因此数量有限制   它可以处理的资源:

     
      
  • 解码的GIF,PNG和TIFF图像的最大尺寸为3百万像素   适用于RAM低于256 MB,设备为5百万像素的设备   大于或等于256 MB RAM。也就是说,确保宽度*   对于RAM小于256 MB的设备,高度≤3* 1024 * 1024。注意   解码后的尺寸远远大于图像的编码尺寸。

  •   
  • JPEG的最大解码图像尺寸为3000万像素   子采样即可。 JPEG图像可能高达3200万像素   子采样,允许JPEG图像解码为具有一个的JPEG图像   十六分之一像素数。 JPEG图像大于2百万像素   被二次采样 - 即,解码为缩小的尺寸。 JPEG子采样   允许用户查看最新数码相机的图像。

  •   

我添加了关于这个主要困扰我的观点。我试图显示一个相当大的图像,但仍然主要在上述32MP提到的限制,特别是 3995px * 2138px 总共 8.5MP 396kb 重量(通过PS将jpeg质量/压缩设置为25)。

每当我将该图像称为ex时。 <img>标签的来源,在我能够测试的任何iOS设备上,模拟器和耦合真实设备(iphone4,ipad2,3,mini ......)上都没有显示任何内容。

我是否有任何公然缺席或者我从上述文档中无法理解的东西?

除了缩小文件大小外,我还能做些什么?如果被迫更换它,我可以达到的最大宽度是多少而不会破坏?如何确保iOS符合上述32MP限制?

我是在网站视角讲话,而不是设备上的原生应用。

2 个答案:

答案 0 :(得分:0)

它不能解决您当前的问题,但如果您查看IOS8中的图像处理,则不再有任何图像大小限制(CoreImage可以自动平铺) - 也许您可以将其作为目标?

答案 1 :(得分:0)

您可以分割图像并平铺它们。我会在IOS设备上常规显示180,000 x 120,000像素,方法是将它们剁碎并使用CATiledLayer。