2011-06-07 64 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