文|丹頂鶴的日記本
開門見山,直接進(jìn)入主題呐粘。
一. 發(fā)明這些單位的原因:
UI設(shè)計(jì)師和前端工程師满俗,在設(shè)計(jì)和實(shí)現(xiàn)UI界面的時(shí)候,顯示效果作岖,會(huì)受到不同設(shè)備的尺寸和分辨率的影響唆垃。
dp,sp痘儡,pt這些邏輯單位辕万,便被發(fā)明出來,作用就是削弱這種影響沉删。
為了說明白渐尿,首先引入3個(gè)概念:
px(pixel)像素
像素是電子顯示器上,組成圖像的最小單位矾瑰。
ppi(pixel per inch 或 pixel/inch) 像素密度
ppi指的是砖茸,每英寸所顯示的像素?cái)?shù)。
ppi越高殴穴,圖像越細(xì)膩渔彰。
不同設(shè)備的ppi的差異,是發(fā)明邏輯像素的一個(gè)重要原因推正。
分辨率的單位是 pixel 還是 PPI?這個(gè)各大手機(jī)官網(wǎng)都不一致宝惰,暫且認(rèn)為兩者都對(duì)
這里我查找了一些手機(jī)的官網(wǎng)植榕,發(fā)現(xiàn)他們對(duì)于分辨率的定義也不是很統(tǒng)一。
HTC官網(wǎng)的表達(dá)方式:“分辨率高達(dá) 401ppi”
小米官網(wǎng)的表達(dá)方式:“分辨率為 2560x1440”
蘋果官網(wǎng)的表達(dá)方式如下:
iOS 系統(tǒng)尼夺,引入單位pt
pt(point) 點(diǎn)
點(diǎn)是一個(gè)邏輯概念尊残,相同點(diǎn)數(shù)的圖像,在物理上是一樣大的淤堵,但是由不同多的像素點(diǎn)組成寝衫。
iPhone4/5/6/7
1pt = 2px
iPhone6plus/7plus
1pt= 3px
Android 系統(tǒng)拐邪,引入單位 dp/dip(device-independent pixel/ density-independent pixel)慰毅,sp(scale-independent pixel)
dp 又叫 dip ,設(shè)備無關(guān)像素。 和iOS的point的作用相同扎阶。
sp 縮放無關(guān)像素汹胃。是用來定義字號(hào)的邏輯單位。
因?yàn)榘沧肯到y(tǒng)允許用戶自定義字大小东臀,在默認(rèn)情況下着饥,1dp=1sp。
dp/sp是邏輯概念惰赋,相同點(diǎn)數(shù)的圖像宰掉,在物理上是一樣大的,但是由不同多的像素點(diǎn)組成。
ppi = 160 1dp=1px 標(biāo)清
ppi = 240 1dp = 1.5 px 高清
ppi = 320 1dp = 2px 超高清(>300ppi轨奄, 視網(wǎng)膜顯示)
ppi = 480 1dp = 3px
dpi這個(gè)搗蛋鬼
dpi 是打印分辨率孟害,前端和UI幾乎用不到這個(gè)概念,卻經(jīng)常被這個(gè)概念干擾戚绕。
- 干擾1 :dpi(device-independent pixel) 和 dip(dot per inch) 長(zhǎng)得太像纹坐。
dip 又叫 dp, 但是 dpi是完全不同的概念。
dpi 用于打印機(jī)舞丛,指的是打印機(jī)在每英寸上打印的點(diǎn)數(shù)耘子。dpi越高,圖片越細(xì)膩球切。
- 干擾2:ppi dpi以為是一個(gè)
ppi反應(yīng)的是電子顯示器上顯示圖像的質(zhì)量
dpi反應(yīng)的是打印機(jī)打印圖片的質(zhì)量
- 干擾3:ldpi/hdpi/xhdpi/xxhdpi 是用來形容電子屏幕的谷誓,但是這里的d(density)和 打印分辨率的 d(dot)是不同的縮寫啊
ldpi(low density per inch)低清
mdpi (middle density per inch )標(biāo)清
hdpi (high density per inch)高清
dpi (dot per inch)
網(wǎng)絡(luò)上,這方面的文章很多吨凑,通常是洋洋灑灑很長(zhǎng)捍歪,卻找不到我最需要的部分。這篇文章鸵钝,我選擇了我日常工作中使用頻率最高的概念糙臼,希望可以減輕讀者的閱讀負(fù)擔(dān)。