如何计算 Android 设备的 PPI。尤其是 Android 平板电脑。请注意,我想计算设备的 PPI 而不是 DPI。
问问题
2580 次
3 回答
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
结果,根据specs ,我们得到了正确的结果。
于 2017-07-30T17:44:20.923 回答
-1
生产者价格指数
屏幕密度被引用为每英寸像素数,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;
于 2014-05-27T15:13:58.477 回答
-2
为此,您需要使用 diaplaymatrix。
DisplayMetrics dm = getResources().getDisplayMetrics();
int height = dm.heightPixels;
int width = dm.widthPixels;
于 2014-05-27T13:04:16.173 回答