Android 将像素转换为英寸、毫米

标签 android pixel dpi ppi

我想准确地将像素转换为英寸和毫米。 我曾尝试使用 displayMetrics 的所有属性,但未能成功获取移动设备中的确切物理单位。 我还尝试使用 TypedValue.applyDimension 但由于文档没有太多解释,仍然很不幸。

这是我尝试使用 displayMetrics 的代码

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

当我尝试使用以下方法获取每英寸像素数时 displayMetrics.ydpidisplayMetrics.xdpi,我没有得到确切的值,因为我通过在 Canvas 上画一条那么长的线并用实际的标尺检查来检查它。

最佳答案

试试这个

DisplayMetrics mDisplayMetric = this.getApplicationContext().getResources().getDisplayMetrics();
float anyPixel = View.getMeasuredWidth(); //you can get Pixel from anywhere, it is a example from view
float widthInches =  TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_IN, size.x, mDisplayMetric);

关于Android 将像素转换为英寸、毫米,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15982908/

相关文章:

java - 有人可以帮助我理解 getRGB() 方法的二进制输出吗?

java - 用Java实现方形分区

Java:基本绘图,绘制点/点/像素

JavaScript 检查数组是否包含修改后的值,计算图像中的唯一像素

android - 我在大屏幕设备上的布局与大屏幕预览不匹配

java - 缩放 ImageButton 以适应各种屏幕尺寸

mfc - 如何默认激活 "disable display scaling on high dpi settings"

android - Android Studio未安装最新的APK

java - 主页按钮 Android 3.0、4.0

Android保存文件到缓存目录