Java 如何在不知道DPI的情况下获得以英寸为单位的图像尺寸?

Java 如何在不知道DPI的情况下获得以英寸为单位的图像尺寸?,java,android,Java,Android,我是新来安卓工作室的。。。我在寻找如何转换图像的尺寸。我发现你需要得到DPI。我的问题是,在不知道DPI的情况下,是否可以将图像的单位转换为英寸??我试着使用.getheight()和.getwidth(),它确实给了我分辨率,我的问题是我需要将其转换为英寸。另外,我在imageview中看到了这个“dp”。。。我想知道这是否有一个以英寸为单位的等价值,我可以用它来转换我的图像,使用比率和比例。还找到了bitmap.getdensity()。这是否得到图像的实际dpi 如何在不知道DPI的情况下

我是新来安卓工作室的。。。我在寻找如何转换图像的尺寸。我发现你需要得到DPI。我的问题是,在不知道DPI的情况下,是否可以将图像的单位转换为英寸??我试着使用.getheight()和.getwidth(),它确实给了我分辨率,我的问题是我需要将其转换为英寸。另外,我在imageview中看到了这个“dp”。。。我想知道这是否有一个以英寸为单位的等价值,我可以用它来转换我的图像,使用比率和比例。还找到了bitmap.getdensity()。这是否得到图像的实际dpi

如何在不知道DPI的情况下获得以英寸为单位的图像尺寸

这个问题没有多大意义

一般来说,数字图像没有固有的英寸大小或固有的DPI(每英寸点数)。它的大小以像素(或点)为单位

DPI实际上是显示图像的设备的属性。对于显示的图像,将设备的DPI乘以图像高度或宽度中的像素数,以获得屏幕上图像的高度/宽度。(如果图像已缩放,则还需要考虑缩放因子。)


在由数码相机产生的图像的情况下,图像的元数据可以包括“分辨率高度DPI”和“分辨率宽度DPI”。我找不到一个解释来解释这些是什么意思,但我猜测它们也是

  • 捕获设备(如CCD)的物理分辨率,或
  • 由图像创建者选择的值,以提供其首选图像大小
在显示图像时,这两个选项都不太相关。(海事组织)