gpt4 book ai didi

java - RectF 数据中的矩形几何形状不包括 RectF 的中心

转载 作者:太空宇宙 更新时间:2023-11-04 13:28:44 25 4
gpt4 key购买 nike

我无法将 RectF 转换为 Geometry,然后检测其中的点:

public static Geometry RectFtoGeometry(RectF r) {
GeometricShapeFactory gsf = new GeometricShapeFactory();
gsf.setBase(new Coordinate(r.left, r.bottom));
gsf.setNumPoints(4);
gsf.setWidth(r.width());
gsf.setHeight(r.height());

Geometry rect = gsf.createRectangle(),
point = new GeometryFactory().createPoint(new Coordinate(r.centerX(), r.centerY()));

if(!rect.contains(point))
throw new IllegalArgumentException();//This gets thrown

return gsf.createRectangle();
}

如何从 RectF 创建“可以包含”其点的几何图形?

提前致谢!

最佳答案

GeometricShapeFactory.java 中的代码使用以下方法创建信封:

public Envelope getEnvelope() {
if (base != null) {
return new Envelope(base.x, base.x + width, base.y, base.y + height);
}
...
}

Android 原点 (0,0) 位于左侧 TOP;您必须将 RectF 的 TOP 与其高度相加才能得到 RectF 的底部。所以基数必须是:

gsf.setBase(new Coordinate(r.left, r.top));

关于java - RectF 数据中的矩形几何形状不包括 RectF 的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32407896/

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