iOS 图像未显示。

4

我在iPhone上显示图片时遇到了问题。目前,我有一张相当大的图像,大小约为9000x4500。我正在尝试在iPhone上调整大小并显示此图像。现在我正在使用模拟器进行开发,但它就是无法显示出来。我这里有一些相当简单的代码(使用phonegap):

<!DOCTYPE HTML>
<html>
  <head>

    <script charset="utf-8" src = "jquery-1.10.1.min.js"></script>
    <script charset="utf-8" src = "cordova.js"></script>
    <style>
        img.Image {
            width: 100%;
            max-width:100%;}


    </style>            

   </head>
   <body>

     <img src = "FloorPlans/plazaone.png" class = "Image" />

   </body>

</html> 

这是我的模拟器截图: http://i.imgur.com/3YyFS8E.png 有人知道如何解决这个问题吗?

4
请注意:在真实设备上,这种方法不太可能奏效。因为图形存储器有限,超过一定分辨率的图片无法直接呈现。9000x4500 的分辨率可能太大了。 - Mike Weller
我发现大的JPG图片可以在模拟器上显示,但大的PNG图片却不能。这是有原因的吗?或者有什么解决方法吗?我需要这张图片相对较小(400-800 KB,目前图片已经达到了这个大小),并且需要是透明的。 - user1819362
1
无论压缩后图像有多大,当解码到内存中时,您将拥有完整的90004500RGB(A)数据,这是大量的数据。我猜使用没有Alpha通道的JPEG格式,您已经低于某个阈值,以便在模拟器上运行。 - Mike Weller
图片在Android上呈现得非常好,而且我正在使用一部相当糟糕的Android手机,所以这些图片应该也能在iPhone上正常工作。我将图像存储在应用程序内部的资源中,并调整大小以适应屏幕。编辑*:这些图片在Android手机上也不需要很长时间或其他什么,它几乎是立即出现的。我只是不明白为什么它在iOS上不起作用。 - user1819362
嗯...我相信PNG在设备上渲染之前会被优化。您可以在构建设置中禁用此功能,以查看是否会显示未经修改的图像。请参阅此页面获取更多信息。 - Mattiavelli
1个回答

3

找到了为什么它没有工作的原因。似乎如果通过HTML将图像放在iOS上,它有一定的分辨率限制(对于JPG似乎没有,但对于GIF和PNG可能与透明度有关)。我所需要做的就是将我的图片缩小到原来大小的50%,然后它们就可以正常工作了。


对我来说完美地工作了!有什么想法为什么这个限制只对jpg放宽了? - nizam.sp
不幸的是,这对我没有起作用。我的图片尺寸为 600 x 480 像素,但仍然无法显示。无论是 PNG 还是 JPG 格式都试过了。 - Vincent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接