我有一个使用画布绘制的图像 . 我在画布上标记了两个点和它们之间的一条线 . 我需要计算线的长度或两点之间的距离 . 我使用公式Math.sqrt((x2-x1)(x2-x1)(y2-y1)(y2-y1))来计算两点之间的距离,得到一个大约250.82左右的值 . 结果值以像素为单位 . 如何将它们转换为公制值或以mm和cm为单位?我在网上发现了许多像素到厘米的计算器,但它们给出了错误的答案,与两点之间的实际距离不匹配 . 有人可以帮我吗?
你可以用这个:
public static float getRealCm(int pixels, DisplayMetrics displayMetrics) { float dpi = (float) displayMetrics.densityDpi; float inches = pixels / dpi; return inches * 2.54f; //inches to cm }
DisplayMetrics 可以从 Resources 获得 . 你可以写下你的活动: getResources().getDisplayMetrics()
DisplayMetrics
Resources
getResources().getDisplayMetrics()
1 回答
你可以用这个:
DisplayMetrics
可以从Resources
获得 . 你可以写下你的活动:getResources().getDisplayMetrics()