bitmap.getWidth()或bitmap.getHeight()的单位是多少

时间:2013-06-12 11:11:36

标签: android bitmap

开发人员website只是声明getHeight()会返回位图的高度,但有人可以告诉我这是像素单位还是dp单位?

5 个答案:

答案 0 :(得分:15)

这是像素。在Java代码中,您通常使用像素,例如视图的宽度和高度。

答案 1 :(得分:2)

经过几小时的实验,我发现它实际上以dp为单位返回高度。您可以通过更改模拟器中的设备屏幕来验证它。

答案 2 :(得分:0)

如果你读到android如何处理视图,这一点根本不清楚。见"Supporting Multiple Screeens"。在阅读该文件后,我得出的结论是“这取决于”。 (而且我还在猜测,因为我还没有验证我的分析。)如果View声明的大小为“wrap_content”,“fill_parent”或“dp”,那么你得到“dp”,否则就会得到像素。如果使用“dp”,则通过乘以

来实现缩放到像素
getResources().getDisplayMetrics().density

对于160 dpi的屏幕,这将返回1.0;对于320 pi屏幕,这将返回2.0。

答案 3 :(得分:0)

Access Control返回以bitmap.getWidth()为单位或dp的宽度。

要获取设备的densitiy(每英寸密度),请使用

dpi
  

要将dp转换为px

float dpi = context.getResources().getDisplayMetrics().density;
  

并将px转换为dp

float px = dp * dpi;

答案 4 :(得分:-1)

除以getResources().... density。