「已注销」 2025-07-07 15:52 采纳率: 25%
浏览 11

关于图形获取中心点问题

麻烦各位指点下,关于图形获取中心点问题(该中心点不为图形求矩形的中心点),谢谢

img

  • 写回答

8条回答 默认 最新

  • 阿里嘎多学长 2025-07-07 15:52
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    关于图形获取中心点问题

    你想获取一个图形的中心点,但是不是矩形的中心点。这意味着你需要计算图形的重心。

    在 Android 中,你可以使用 Path 对象来计算图形的中心点。下面是一个简单的示例:

    Path path = new Path();
    // 添加图形的路径点
    path.moveTo(10, 10);
    path.lineTo(20, 20);
    path.lineTo(30, 10);
    path.close();
    
    // 计算中心点
    float centerX = 0;
    float centerY = 0;
    float area = 0;
    for (int i = 0; i < pathMeasure.getSegmentCount(); i++) {
        float x1 = pathMeasure.getPosTan(i * pathMeasure.getSegmentLength(), null)[0];
        float y1 = pathMeasure.getPosTan(i * pathMeasure.getSegmentLength(), null)[1];
        float x2 = pathMeasure.getPosTan((i + 1) * pathMeasure.getSegmentLength(), null)[0];
        float y2 = pathMeasure.getPosTan((i + 1) * pathMeasure.getSegmentLength(), null)[1];
        float width = Math.abs(x2 - x1);
        float height = Math.abs(y2 - y1);
        area += width * height;
        centerX += (x1 + x2) / 2 * width;
        centerY += (y1 + y2) / 2 * height;
    }
    centerX /= area;
    centerY /= area;
    

    这个示例中,我们使用 Path 对象来定义图形的路径,然后使用 PathMeasure 对象来计算路径的长度和每个点的坐标。然后,我们遍历路径的每个点,计算每个点的宽度和高度,并计算中心点的坐标。

    请注意,这只是一个简单的示例,你可能需要根据你的实际情况进行修改。

    希望这个示例能够帮助你解决问题。如果你有任何其他问题,请随时问我。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月7日