LBe*_*ker 4 java jts awt polygon draw
我目前正在尝试在 Java 中绘制并填充一个有洞的多边形。通常这不会是一个大问题,因为我会绘制外环,然后用背景颜色绘制内环。
但问题是,多边形显示在应该通过孔“看到”的图像上方。
我正在用 Java 编写代码,并使用JTS 拓扑套件来处理我的几何数据。
这是我当前的代码,它只是绘制边框并用颜色填充多边形。
private void drawPolygon(com.vividsolutions.jts.geom.Polygon gpoly, Color color, Graphics2D g2d){
java.awt.Polygon poly = (java.awt.Polygon)gpoly;
for(Coordinate co : gpoly.getExteriorRing().getCoordinates() {
poly.addPoint(co.x, co.y);
}
g2d.setColor(col);
g2d.fill(poly);
g2d.setColor(Color.BLACK);
g2d.draw(poly);
}
Run Code Online (Sandbox Code Playgroud)
遗憾的是java.awt.Polygon不支持带孔的多边形。
Polygon作为 an 的基础Area(例如称为polygonShape)。 Ellipse2D“洞”,然后Area为其建立一个 ( ellipseShape)。使用Area.subtract(Area)类似的东西:
Area polygonWithHole = polygonShape.subtract(ellipseShape);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
4472 次 |
| 最近记录: |