2012-05-24 31 views
0

我有一个混合的iPad应用程序加载HTML和JavaScript在web视图中。iPad 3:如何在uiwebview中下载视网膜图像

所有的图像都在台iPad 1和2秒确定,但在台iPad 3

我曾想过一些可能的解决方案模糊:

  1. 即成2倍的图像和在低分辨率50%表示他们台iPad。
  2. 检测视网膜显示和服务于不同的图像

你将如何管理不同设备的不同的分辨率和图像加载?

回答

1

您可以使用Javascript将LowRes图像替换为HiRes设备上的HiRes图像。有一个JQuery plugin这样做。 Apple为自己的页面使用这种方法(而不是JQuery插件),所以它不应该太糟糕。

如果您可以将内联<img>更改为CSS背景图像,则可以使用其他方法。然后你可以使用媒体查询服务的高分辨率图像的高分辨率设备:

#yourImageConteainer { 
    background-image: url('image.png'); 
}  

@media all and (-webkit-min-device-pixel-ratio : 1.5) { 
    #yourImageContainer { 
     background-image: url('[email protected]'); 
     background-size: 100px 100px; 
    } 
} 

我命名跟iOS @2x后缀的高分辨率图像,虽然这是没有必要的。

我不会向LowRes设备提供全分辨率图像,因为这会增加图像的大小,因此LowRes设备的加载时间没有任何好处。

如果您可以在服务器端检测到HiRes设备,然后为请求设备提供最佳分辨率图像,那将是最佳方式。

1

不要为iPad3 /新iPad过高放大图像。 Safari缩小高分辨率图像http://www.tomshardware.com/reviews/ipad-3-benchmark-review,3156-5.html。以完整iPad3分辨率查看网页图像的唯一方法是将其保存并在Safari外查看。

编辑:

有了新的Retina显示屏的MacBook,这一评论可能不再适用。拥有高分辨率的网页图形将可能变得越来越重要。

相关问题