如何转换成DIP格式?

5

如何将常规像素转换为DIP的公式是什么?

假设我有一个设计用于Galaxy Tab(例如)的Photoshop文档,其实际像素为600x1024。
这些像素与DIP之间的比率是多少? 我不清楚Android如何翻译这个。

我想使用DIP(而不是像素),以便它在其他设备上缩放时看起来“好”,但我的主要关注点是在此分辨率下实现像素完美,并且我的目标是测量Photoshop中元素的位置,然后获得确切的翻译,使其在Tab上布局完全相同。


1
DIP只是一种花哨的说法,意思是“将您的DIP值乘以系统每英寸点数/ DPI值,以获取设备像素位置”。我相信Android默认为160dpi,Windows桌面为72dpi,WPF为96 dpi。 - Marc B
1个回答

11

他们的公式在文档中某个地方:

 truePixels = DIPs * (device DPI / 160) 

啊,它在这里:

密度无关像素(dp)等同于160dpi屏幕上的一个物理像素,这是系统对“中等”密度屏幕的基线密度假设。在运行时,系统会根据实际使用的屏幕密度透明地处理dp单位的任何比例缩放。将dp单位转换为屏幕像素很简单:px = dp *(dpi / 160)。例如,在240dpi屏幕上,1dp等于1.5个物理像素。您应始终使用dp单位来定义应用程序的UI,以确保在具有不同密度的屏幕上正确显示您的UI。

引用自这里


我明白了...那么我在哪里可以找到Tab的屏幕密度信息呢? - Yevgeny Simkin
有时候维基百科会有很好的答案 ;): http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density - dmon
哇...那非常有用...但是171(而且还带一个星号)...那多么武断啊?! :) - Yevgeny Simkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接