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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bitmap.getWidth()或bitmap.getHeight()的单位是多少相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

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

另一答案

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

getResources().getDisplayMetrics().density

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

另一答案

bitmap.getWidth()dp单位或densitiy返回宽度。

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

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

将dp转换为px

float px = dp * dpi;

并将px转换为dp

float dp = px/dpi;
另一答案

除以getResources()....密度。

以上是关于bitmap.getWidth()或bitmap.getHeight()的单位是多少的主要内容,如果未能解决你的问题,请参考以下文章

由 java.lang.NullPointerException 引起:尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”

打开失败:EACCES(权限被拒绝)并尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”

在我的 webview 应用程序上调用虚拟方法 'int android.graphics.Bitmap.getWidth()' on an null object reference"

Bitmap转圆形图片Bitmap

android bitmap的放大缩小

Bitmap尺度变换