2011-06-07 34 views
4

將常規像素轉換爲DIP的公式是什麼?如何轉換爲DIP?

假設我有一個photoshop文檔,其中有一個用於Galaxy Tab(例如)600x1024實際像素的設計。
這些和DIP之間的比率是多少?我不清楚Android是如何翻譯的。

我想使用DIP(而不是像素),以便在其他設備上縮放以顯示「OK」,但我主要關心的是如何在此分辨率中使像素完美,我的目標是測量元素在photoshop中,然後得到一個確切的翻譯,以確定DIP需要在Tab上完全相同。

+1

DIP只是一種奇特的說法,「將DIP值與系統的每英寸點數/ DPI值相乘以​​獲得設備像素位置」。我相信Android默認爲160dpi,Windows桌面爲72dpi,WPF爲96dpi。 – 2011-06-07 17:14:27

回答

10

他們的公式是某處文檔:

truePixels = DIPs * (device DPI/160) 

嗯,還有,它是:

密度無關的像素是 160 dpi屏幕上 等效於一個物理像素,這是系統爲 「中等」密度屏幕假定的基線密度 。在運行時,系統根據所使用的屏幕的實際密度,透明地處理dp單元的任何 縮放比例(如有必要), 。單位到屏幕像素的轉換很簡單:px = dp *(dpi/160)。例如,在一個 240 dpi屏幕上,1個dp等於1.5個物理像素。定義 應用程序的用戶界面時,應始終使用 dp單位,以確保在具有不同密度的屏幕上顯示您的用戶界面正確 。

摘自here

+0

我明白了......那麼我在哪裏可以找到Tab的屏幕密度是多少? – 2011-06-07 18:26:57

+0

有時維基百科有一個很好的答案;):http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density – dmon 2011-06-07 18:36:57

+0

哇....這是非常有用的......但171(和星號不少)...如何任意是這樣?! :) – 2011-06-07 19:51:13