计算Android设备的PPI



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

这很简单,就像1 - 2 - 3 =)让我们计算PPINexus 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

PPI

屏幕密度引用为像素每英寸,PPI,,是适合一英寸的像素数。数字越高,显示的图像就越清晰,因此消费者在购买设备时会考虑高PPI数字的优势。有时这个数字被引用为点每英寸,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;

为此,您需要取displaymatrix

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

相关内容

  • 没有找到相关文章

最新更新