首页 文章

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

提问于
浏览
1

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

1 回答

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

相关问题