二倍圖/三倍圖的分辨率問題

方法一:

利用css樣式以及放兩倍圖。
有一張200x200像素的圖片(CSS像素,也就是普通像素點(diǎn)或者說是標(biāo)準(zhǔn)像素點(diǎn)),我們給圖片設(shè)置一個CSS樣式:

img{
     width:200px;
     height:200px;
}

圖片模糊的情況:固定好css像素。將width和height固定好。此時在這個width和height 對于不同的顯示器包含的像素已經(jīng)確定了。然后在兩種不同屏幕上放圖片:那么Ritina屏幕圖片會模糊。因?yàn)闆]有css像素的width height所對應(yīng)Retina顯示器的像素?cái)?shù)那么多。你硬生生的把這張圖片拉成那么大。必然模糊。
在iPad2或Mini iPad中就是很正常顯示的圖片;但是,在New iPad中,1個CSS像素點(diǎn)實(shí)際上有4個位圖像素點(diǎn),1個分成4個,顯然不夠分啊,只能顏色近似選取,于是,圖片感覺就是模糊的。

因此,要想讓視網(wǎng)膜屏幕下的圖片高清晰顯示,我們需要的圖片的原始大小不能是200×200像素,而需要2倍高寬,即400×400像素,CSS像素限制依然是:

img {
width:200px;
height:200px;
}

此時,視網(wǎng)膜屏幕下圖片就顯示OK了(非視網(wǎng)膜屏幕圖片被壓縮-減少像素取樣——資源浪費(fèi)!)。

方法二:

查詢像素密度:準(zhǔn)備兩種大小但是一樣的圖片。利用css的媒體查詢或者JS的 Retina.js來調(diào)取圖片。(瀏覽器支持是一個問題)1 css:可以通過“device-pixel-ratio”屬性或者其擴(kuò)展屬性“min-device-pixel-ratio”和“max-device-pixel-ratio”。這幾個Media Queries可以使用background-image為Retina準(zhǔn)備高精密度像素的圖片。

.icon {
background-image: url(example.png);
background-size: 200px 300px;
height: 300px;width: 200px;
}
@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
      only screen and (-moz-min-device-pixel-ratio: 1.5),
      only screen and (-o-min-device-pixel-ratio: 3/2),
      only screen and (min-device-pixel-ratio: 1.5) {
          .icon {
                background-image: url(example@2x.png);
          }
}        

方法三:
放縮放的矢量圖形(瀏覽器支持是一個問題)



獲得設(shè)備像素比后,便可得知設(shè)備像素與CSS像素之間的比例。也就是window.devicePixelRatio。
一倍圖:當(dāng)這個比率為1:1時,使用1個設(shè)備像素顯示1個CSS像素。
二倍圖:當(dāng)這個比率為2:1時,使用4個設(shè)備像素顯示1個CSS像素,
三倍圖:當(dāng)這個比率為3:1時,使用9(3*3)個設(shè)備像素顯示1個CSS像素。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 為什么模擬器下iP6的分辨率為375*667而設(shè)計(jì)圖一般給750*1334? PPI:每英寸內(nèi)有多少物理像素點(diǎn)(設(shè)...
    LoveBugs_King閱讀 2,386評論 0 0
  • 我們先從一個聽的最多的概念——PPI開始。PPI什么是PPIPPI的復(fù)雜之處在于如果他所處的上下文環(huán)境不同,意義也...
    garble閱讀 787評論 0 1
  • 問題的由來 手機(jī)屏幕的分辨率差異很大。 iphone4:320×480 iphone6:375×667 H5 網(wǎng)頁...
    尚山夏香閱讀 2,573評論 0 1
  • AMD 和 CMD 的區(qū)別有哪些?AMD 是 RequireJS 在推廣過程中對模塊定義的規(guī)范化產(chǎn)出。CMD 是 ...
    竿牘閱讀 750評論 0 1
  • 一時閑暇 讀詩詞,一入群來賞佳作 一看格律起話題,一爭一論有開拓
    月明紅紅閱讀 346評論 0 1

友情鏈接更多精彩內(nèi)容