Android计算Canvas中两点之间的长度或距离

时间:2013-12-26 14:46:37

标签: android android-canvas distance pixels

enter image description here 我有一个使用画布绘制的图像。我在画布上标记了两个点和它们之间的一条线。我需要计算线的长度或两点之间的距离。 我使用公式Math.sqrt((x2-x1)(x2-x1)+(y2-y1)(y2-y1))来计算两点之间的距离,得到像250.82这样的值或者所以。结果值以像素为单位。如何将它们转换为公制值或以mm和cm为单位?我在网上发现了许多像素到厘米的计算器,但是它们给出了错误的答案,它与两点之间的实际距离不匹配。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用:

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()