我有一個移動網站利用jQuery Mobile,但坦率地說,這些圖像看起來像iPhone 4/4S上的廢話。我認爲本週晚些時候推出的「新iPad」也會一樣。處理高分辨率顯示器(主要是iOS視網膜顯示器)的高分辨率網頁圖像的正確方法是什麼?
我知道這與像素比例和/或圖像DPI(或PPI或任何你想稱之爲的東西......)我們不討論這個問題。我只是想知道爲這些iOS視網膜顯示器提供高分辨率網頁圖像的最佳方法是什麼。
起初,我認爲改變圖像DPI(在Photoshop中)將解決問題。我採取了一些示例圖像,並縮小到190px的寬度。我以72 DPI和200 DPI保存了一張圖片。這沒有效果。請親自看一下(在iPhone 4/4S上):http://haxway.com/restest/1.html每張的底部圖像是200 DPI。
然後,我沒有將高分辨率圖像保存爲200 DPI,而是將其保存爲72 DPI,但是這次我將寬度增加到528像素,所以當縮小到190像素的寬度時, 〜200 DPI。這看起來有訣竅:http://haxway.com/restest/2.html如果您查看源代碼,您可以看到我強制圖像標記的寬度/高度(<img src="w4.jpg" alt="" width="190" height="143">
)。
但是,我不相信這是最好的解決方案。不使用寬度/高度屬性來縮放圖像會影響渲染性能,因爲設備必須縮放圖像而不是隻加載圖像(並且不要再接觸它)?
經過一番研究,看起來好像有一些CSS媒體查詢,如-webkit-min-device-pixel-ratio
[1],您可以在高分辨率顯示中使用不同的CSS,因此可以在CSS中加載更高分辨率的圖像。但我需要定位HTML <img>
標籤。我閱讀的另一篇文章(遺憾地失去了鏈接)建議使用Javascript將高分辨率的「常規」圖像替換掉。這聽起來很瘋狂!
有沒有更好的方法去做這件事?我意識到意見可能會有所不同,哪些是「最佳」方式。如果每種方法的優點/缺點都可以解釋,那就太棒了!我的目標是使用任何方法渲染速度最快(希望不使用一些hacky Javascript等)。
謝謝!
[1] http://aralbalkan.com/3331
雖然你的樣品有點腥。瀏覽器所做的是逐像素地顯示圖像。像這樣看,你的圖像是相似的。 200dpi圖像的打印尺寸只是小得多。如果你想以更高的分辨率上傳相同的圖像 - 包含更多的像素 - 你會看到瀏覽器顯示的圖像大3倍。這也不是你想要的。 – commonpike 2012-05-05 22:20:33
......正好。這不是我想要的。那麼目前這種方法如何「腥」呢? (不要吝嗇攻擊......只是好奇。) – 2012-05-08 05:33:06
對不起,如果這聽起來有問題。這讓我感到困惑:我想,你想要的是更高分辨率下的相同尺寸的圖像。但是您以較高的分辨率上傳較小的圖像。如果瀏覽器*會尊重dpi,則您上傳的200dpi圖像將會小得多。 (在任何情況下,感謝測試圖像 - 你幫助我)。 – commonpike 2012-05-12 20:54:27