我想准确地将像素转换为英寸和毫米。
我曾尝试使用 displayMetrics
的所有属性,但未能成功获取移动设备中的确切物理单位。
我还尝试使用 TypedValue.applyDimension
但由于文档没有太多解释,仍然很不幸。
这是我尝试使用 displayMetrics 的代码
displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
当我尝试使用以下方法获取每英寸像素数时
displayMetrics.ydpi
或 displayMetrics.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/