【问题标题】:Mobile safari downsamples large images. How to retain?移动 Safari 对大图像进行下采样。如何挽留?
【发布时间】:2013-03-10 15:20:37
【问题描述】:

我有一个 HTML 页面,其中包含 1675 像素 x 2640 像素的图像。我尝试在 iPad 上查看它,显然移动 safari 对图像进行了下采样。我们想展示高质量的图像,但 safari 限制了这一点。

我一直在寻找保留图像大小的解决方案。我一直在移动 safari 上的 iPad 3 上查看它。人们建议使用其他浏览器,但默认情况下我们使用的是移动 safari。

是否有任何 CSS、JavaScript 或其他解决方案来解决此限制?

【问题讨论】:

  • 你能把你的html页面的链接分享给我们吗?

标签: javascript html css image safari


【解决方案1】:

若要享受 iPad Retina 和 iPhone 4 / 5 的视网膜功能,请使用以下双倍尺寸图像:

<img src="test.jpg" width="837" height="1320" />

注意尺寸减半,但test.jpg不需要调整大小。

或者,您可以准备另一组高分辨率图形,并在检测到视网膜屏幕时显示它,使用媒体查询 (Modernizr)

像素密度理论: Retina 屏幕将 2 个像素放入 1 个像素,例如 320px 宽度,它实际上包含 640px 内容。在这里阅读更多:http://www.sitepoint.com/css-techniques-for-retina-displays/

【讨论】:

    【解决方案2】:

    我相信你一定会喜欢这个答案,但简短的回答似乎是:“你不会得到 1:1 的大尺寸图像”。

    稍长一点的答案是,Apple 故意强迫事情以这种方式工作,因为之前它的工作方式只是根本不加载图像,或者崩溃。

    现在,通过引用获得更完整的答案...

    Apple's Known Resoruces Limits

    问题是,当图像被解码/解压缩时,它占用的 RAM 空间比图像文件大小要多得多。 Apple 声明的公式是具有 512mb RAM 的设备,例如您提到的 ipad 3,将拒绝 5 兆像素以上的非 JPEG 图像,这会导致:

    height * width <= 5 * 1024*1024
    

    对于 JPEG,Apple 指出他们将进行二次采样以允许您查看 jpeg:

    使用二次采样的 JPEG 最大解码图像大小为 32 兆像素。 由于二次采样,JPEG 图像最高可达 32 兆像素,这允许 JPEG 图像解码为像素数十六分之一的大小。对大于 2 兆像素的 JPEG 图像进行二次采样,即解码为缩小的尺寸。 JPEG 二次采样允许用户查看来自最新数码相机的图像。

    请注意,它指出 2 兆像素是 JPEG 全尺寸查看的限制,即 2*1024*1024。由于您的图像大约超过 4 兆像素,因此将在 iPad 3 上对其进行二次采样。不,如果不使用外部程序,您确实无法强制执行它。

    要使用外部程序进行最小的改进,请参阅此链接,其中有人推荐 GoodReader:Apple Forum, Seeking Full Image Resolution in MiniSfari

    这是另一个具有类似问题/答案对的 Stackoverflow:Image Size Limitations in Mobile Safari

    【讨论】:

      【解决方案3】:

      Mobile Safari does not downsample progressive JPEGs. 假设 JPEG 是您可以接受的格式,只需将它们转换为渐进式编码即可。假设您有一个现有的非逐行扫描 JPEG 图像,您可以使用 jpegtran 等工具将编码无损地转换为逐行扫描。

      【讨论】:

      • 但是如果图像很大 - 它会导致加载错误。对于纵横比宽度/高度 = 1.5,我得到了下一个值:最大加载的渐进 JPEG - 2804x1869,最大加载的基线 JPEG 没有下采样 - 1774x1182,最大加载的基线 JPEG 有下采样 - 10816x7210(下采样到 1352x746)。在具有 256 RAM 的 iPhone 3GS 上获得的值。 iOS 5.1.1。
      • @Enyby - 任何浏览器都有内存限制。即使是桌面级浏览器也可能会在加载大量图像而内存不足时出现问题。在这个时代,256MB 并不是很多。
      猜你喜欢
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 2014-05-04
      • 2015-08-08
      相关资源
      最近更新 更多