计算Android设备的PPI

时间:2014-05-27 12:55:18

标签: android device ppi

如何计算Android设备的PPI。最具体的Android平板电脑。 请注意,我想计算设备的PPI而不是DPI。

3 个答案:

答案 0 :(得分:2)

很容易就像一两三=)让我们将 PPI 计算到 Nexus 5 ,例如。

float LCD_Diagonal = 4.95f;
int screenHeightPx = 1920;
int screenWidthPx  = 1080;
float PPI = (float)Math.sqrt((double)(screenWidthPx*screenWidthPx + screenHeightPx*screenHeightPx))/LCD_Diagonal;
Log.e(TAG, "display_page_screen_ppi: " + String.format(Locale.getDefault(),"%d %s", Math.round(PPI), "ppi"));

结果我们445 ppi符合documentation的要求。

答案 1 :(得分:-1)

PPI

屏幕密度以每英寸像素数,PPI 为单位,是适合一英寸的像素数。数字越高,显示屏上的图像越清晰,因此消费者认为高PPI数字在购买设备时具有优势。有时这个数字被引用为Dots Per Inch,DPI,尽管DPI的使用因打印术语而引起混淆,它可以指数字扫描仪和数码相机中传感器的灵敏度。对于Android屏幕,当涉及到PPI与DPI时,使用PPI并让DPI参考打印机,它实际上是一种不同的测量(因为在纸上生成高质量图像所需的点密度更大)。

可以在给定屏幕的分辨率(x和y像素的数量)和尺寸(可见区域的对角线测量)的情况下计算屏幕的PPI图。使用毕达哥拉斯定理计算对角线中的像素数,然后将结果除以屏幕尺寸。的即。 PPI =(x ^ 2 + y ^ 2的平方根)/屏幕尺寸

第二个选项

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

 // Display device width and height in pixels
     screenHeightpx = dm.heightPixels;
     screenWidthpx  = dm.widthPixels;

答案 2 :(得分:-2)

为此你需要拍摄diaplaymatrix。

DisplayMetrics dm = getResources().getDisplayMetrics();
int height = dm.heightPixels;
int width = dm.widthPixels;