首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算Android设备的PPI

计算Android设备的PPI
EN

Stack Overflow用户
提问于 2014-05-27 20:55:18
回答 3查看 2.5K关注 0票数 10

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

EN

回答 3

Stack Overflow用户

发布于 2017-07-31 01:44:21

这很简单,比如1-2-3 =)让我们计算PPI到Nexus5。

代码语言:javascript
复制
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"));

结果,我们得到了与specs一致的445 ppi

票数 2
EN

Stack Overflow用户

发布于 2014-05-27 23:13:58

PPI

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

可以根据屏幕的分辨率(x和y像素的数量)和大小(可见区域的对角测量值)来计算屏幕的PPI数字。使用勾股定理计算对角线上的像素数,然后将结果除以屏幕尺寸。大小,即PPI=( x^2 +y^2的平方根)/screen

第二个选项

代码语言:javascript
复制
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);

 // Display device width and height in pixels
     screenHeightpx = dm.heightPixels;
     screenWidthpx  = dm.widthPixels;
票数 -1
EN

Stack Overflow用户

发布于 2014-05-27 21:04:16

为此,您需要获取diaplaymatrix矩阵。

代码语言:javascript
复制
DisplayMetrics dm = getResources().getDisplayMetrics();
int height = dm.heightPixels;
int width = dm.widthPixels;
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23890050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档