gpt4 book ai didi

android - Path.computeBounds 在 Android 上返回不正确的边界(这是平台错误吗?)

转载 作者:太空狗 更新时间:2023-10-29 14:43:02 26 4
gpt4 key购买 nike

当我使用以下两种技术计算闭合路径的边界时,我遇到了几个问题。

方法一

    public RectF Truncate(Path path) {

RectF figureLocationF = new RectF();
path.computeBounds(figureLocationF, true);
return figureLocationF;
}

方法二

  public RectF Truncate(Path path) {

RectF figureLocationF = new RectF();
path.computeBounds(figureLocationF, true);
Rect figureLocation = new Rect((int)Math.floor(figureLocationF.left), (int)Math.floor(figureLocationF.top)
,(int)Math.ceil(figureLocationF.right), (int)Math.ceil(figureLocationF.bottom));


Rect bounds = new Rect();
Region region = new Region();
region.setPath(path, new Region(figureLocation));
region.getBounds(bounds);

return new RectF(bounds)
}

下图为结果 enter image description here

方法 1 返回的边界大于路径,这令人困惑,并且方法 2 由于小数点四舍五入而截断了路径的一小部分。

我该如何解决这个问题?有没有办法获得精确的界限。

最佳答案

我认为没有办法,将 false 传递给 path.computeBounds(figureLocationF, false); 并满足于不精确的测量或 true 给出精确的测量。如果 android exact 不够好,只需计算你自己的界限。这只是方便的方法。在 devleoper 选项“硬件加速渲染”中打开 google 开发人员功能,您可以看到 Canvas 重绘的亮点。

关于android - Path.computeBounds 在 Android 上返回不正确的边界(这是平台错误吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com