В настоящее время я пытаюсь нарисовать и заполнить многоугольник с отверстием в нем на Java. Обычно это не будет большой проблемой, так как я нарисую внешнее кольцо, а затем нарисую внутреннее кольцо с цветом фона.Java как рисовать и заполнять многоугольник с отверстиями
Но проблема в том, что многоугольник отображается над изображением, которое должно быть «видно» через отверстие.
Я пишу код в Java и использую JTS Topology Suite для данных геометрии.
Это мой текущий код, который просто рисует границу и заполняет многоугольник цветом.
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);
}
К сожалению java.awt.Polygon не поддерживает многоугольники с отверстиями.
отверстия в моих многоугольниках обычно также многоугольники, а не эллипсы, также ли это работает с вашим подходом? – LBecker
спасибо за дружеский и быстрый ответ. В настоящее время я не могу попробовать и запрограммировать ваше предложение, так как я не нахожусь на своем компьютере Да, я прочитал документацию. Я опубликую свои результаты, как только смогу добраться до кодирования. – LBecker
@AndrewThompson. Я полностью согласен, хотя я бы сформулировал комментарий немного дружелюбно.;) – brimborium