Retina Monitor’s Web Image Solution
什麼是Retina螢幕
今天來談談網頁圖片在視網膜(Retina)螢幕的顯示議題,首先必須來談談什麼是視網膜螢幕,其實他就是一種能在單位尺寸內顯示更多像素點的螢幕,且已經達到視網膜能辨識的極限,視網膜螢幕是由蘋果公司提出,賈伯斯在2010年iPhone 4的發表會中提到:「當你所拿的東西距離你10-12英寸(約25-30厘米)時,它的解析度只要達到300ppi這個『神奇數字』(每英寸300個像素點)以上,你的視網膜就無法分辨出像素點了。」
所以簡言之,視網膜螢幕比較一般非視網膜螢幕的不同處在於,能在同樣的範圍顯示更多的像素點,也就是PPI(Pixels Per Inch)比較高的螢幕,可參考下圖所示:

可以看到圖左在單位尺寸內顯示的像素點較少,圖右則能以更多的像素去呈現,在肉眼上就會覺得圖右會比較細緻。
接下來談談網頁圖片與視網膜螢幕之間的關係,先來看看同樣一張圖片在不同螢幕上顯示的效果。


當然在美觀的立場下,我們不會希望發生這樣的視覺差異,那網頁上要如何設置才可以做到讓圖形在視網膜螢幕下也能正常的顯示呢?以下提出一些解決方案:
方案1. 透過CSS針對不同的DPR (Device Pixel Ratio)設計顯示圖片
大家如果想知道自己螢幕的DPR,可以在Chrome的主控台輸入“window.devicePixelRatio”,就可以得知目前Chrome所在螢幕的DPR值。


可以觀察出來在兩個螢幕的DRP值是不同的,而透過CSS的樣式,可以針對這兩個不同的DPR設定顯示方式,可以參考下面的做法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .logo{ width: 190px; height: 190px; background-image: url("atd-icon.jpg"); background-size: contain; } @media (-webkit-min-device-pixel-ratio: 2){ .logo{ background-image: url("atd-icon@2x.jpg"); } } </style> </head> <body> <div class="logo"></div> </body> </html> <script> </script>
這邊必須針對圖檔尺寸做個說明,其中atd-icon.jpg為190 x 190,而atd-icon@2x.jpg為380 x 380。
@media (-webkit-min-device-pixel-ratio: 2)的部分是在DPR兩倍下的Media Query。
透過這樣的方式去設定,當DPR為2的時候,螢幕上的圖片改變為atd-icon_2.jpg,剛好能夠滿足在兩倍像素狀況下的顯示需求,當然以此類推,也能去設定三倍或更高倍數下的顯示圖片。
方案二. 透過img標籤的srcset屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <img src="atdIcon.jpg" srcset="atd-icon@2x.jpg x2"> </body> </html> <script> </script>
其中srcset=”atd-icon@2x.jpg 2x”表示在DPR等於2的時候要去呈現的圖片。


以上兩個方法都可以解決圖片在Retina螢幕上面顯示的問題,但也要稍微注意一下支援程度:


可以看到在IE都是無法支援的狀態,但從Edge後就開始支援,當然也可以想想目前擁有Retina螢幕的使用者,用的瀏覽器都會是哪些?說不定你不會太在乎上面那兩張圖紅色的部分。
但若是一定要有IE瀏覽器的支援,大家應該也能從上述的文章了解,我們可以透過window.devicePixelRatio的數值自行寫script進行判斷,然後再給出適合DPR的圖片,不過這邊另外推薦一個JS Library可以協助你進行這方面的判斷。
方案三. 透過Retina.js輔助進行判斷

首先到Retina.js的網站下載他們所提供的js檔,接下來至網頁引入該JS,其實網站上也有詳細的使用方法,另外檔案大小僅有約4KB並不算很大,可以參考下面的Sample Code。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="retina.min.js"></script> </head> <body> <img src="atd-icon.jpg" /> </body> </html>
可以看到在img標籤中僅使用了原始大小的atd-icon.jpg,但因為有引入retina.min.js,他會在螢幕DPR兩倍時,自動去搜尋符合倍率下的圖片,但要記得如果不加其他屬性去設定兩倍圖片的檔名,檔名就必須按照內建的規則,也就是atd-icon@2x.jpg,當然3x也依然支援,可以到官網看一下他的使用方式,但若是使用CSS設定的背景,依然沒辦法透過retina.js達到支援IE的效果。
以上三個方法提供目前在設計網頁時,對於Retina螢幕支援的做法,若在不考慮IE瀏覽器的情況下,其實方法1+方法2就已經可以解決所有情況,但若要支援IE則可以參考方法三的做法,也歡迎大家有問題可以留言進行討論。
方案四. 使用SVG圖檔
過往我們在網頁中使用的圖片僅有GIF、PNG、JPG這三種點陣圖格式,所以在高解析度(Retina)的螢幕中,我們需要輸入不同Size的圖片,來補足像素點不足的問題,現在有了另外一種解法“SVG”圖檔。
大家可以把SVG視為一種可以放在網頁上的向量圖檔,也就是說我們以前透過Illustrator或其他向量繪圖軟體(也包含Photoshop中向量工具)繪製出來的向量圖,本身放大就不會失真,但因為要放在網頁上,我們把它轉換成了前述的三種點陣格式,才導致圖檔放大後的失真,而SVG就是保留圖片原來的向量屬性,簡言之,就是把向量圖檔放在網頁上的意思。


感覺這個解決方案應該會比前幾項方便,但也有他必須要注意的地方:
- 在SVG檔案中匯入的點陣圖,在儲存成SVG時並不會被向量化,例如上圖中間的ASUS Design Logo就是匯入的點陣圖(放大後還是會模糊)。
- SVG字型可能會遺失,所以需要使用網路字型或是將文字轉成外框或形狀之後再轉存成SVG。


Казино — место для увлекательных РёРіСЂ.: balloon казино – balloon game
click for more https://web-lumiwallet.com
https://neokomsomol.kz/# Рграйте РІ Ballon Рё наслаждайтесь процессом.
Сыграйте РЅР° деньги, почувствуйте азарт!: balloon игра – balloon игра на деньги
Автоматы Ballon поражают своей красочностью.: balloon игра на деньги – balloon казино
mostbet http://mostbet1007.com.kg .
ТОП-10 ресурсов по финансам: https://centrdeklaraciy22.ru
мостбет скачать казино mostbet1008.com.kg .
mostber mostber .
click this over here now Lumi wallet
Попробуйте выиграть РЅР° автомате Ballon!: balloon game – balloon казино
мост бет http://www.mostbet1006.com.kg .
Погрузитесь РІ РјРёСЂ азартных РёРіСЂ.: balloon казино играть – balloon игра
over at this website https://web-lumiwallet.com/
check that
Web.lumi wallet
戰神賽特娛樂城
想挑戰刺激又富有獎勳的遊戲世界嗎?來「戰神賽特娛樂城」的老虎機,一場充滿驚喜的冒險正等著您!遊戲中融合了各式特殊符號與獎勳機制,如 Wild 與 Scatter 符號,能夠為您開啟額外的連線機會,讓您在每一輪轉動中都充滿期待。而 Bonus Game 和 Free Spin 更能讓您在短時間內獲得超豐厚的獎勳,輕鬆開啟連勝之旅。無論您是新手還是老玩家,戰神賽特為您精心設計了從 0.5 到 2500 的多元投注範圍,無論您的風險承受度如何,都能輕鬆找到最適合自己的投注金額,享受遊戲的樂趣。若您想要更快掌握遊戲技巧,不妨先體驗「戰神賽特試玩」版,或參考「戰神賽特攻略」指南,讓您在真實賭局中如魚得水,搶奪更多獎勳!快來挑戰自己的運氣,和我們一起開啟一場刺激無比的冒險吧
canadian pharmacy com: my canadian pharmacy rx – canadian pharmacy
official statement https://web-lumiwallet.com
read
Lumi wallet
Everything what you want to know about pills.
list of side effects of gabapentin
Their compounding services are impeccable.
A seamless fusion of local care with international expertise.
order cheap clomid without dr prescription
Leading with compassion on a global scale.
3bio4k
They bridge the gap between countries with their service.
how to buy generic cipro pills
Leading with compassion on a global scale.
They always offer alternatives and suggestions.
gabapentin dose for bipolar
Drugs information sheet.
medication from mexico pharmacy: mexico drug stores pharmacies – mexican pharmacy acp
his explanation https://web-lumiwallet.com
canadian pharmacy ratings: Canadian Pharmacy AAPD – canadian medications
check out the post right here Lumi wallet
article https://web-lumiwallet.com/
linked here
Lumi crypto