假设我画了两个30像素半径和20像素的圆圈。你会得到一条交叉线。如何防止这种交叉?
我已经尝试过查看各种图形过滤但我找不到合适的东西。
(此问题不限于2个圆圈)
答案 0 :(得分:3)
您可以使用java.awt.geom.Area
类来执行操作。它有
add(),intersect(),subtract()方法。
创建一个区域(两个椭圆的总和)并减去另一个区域(两个椭圆的交点)。
工作代码:
int x = 200; int y = 200;
Ellipse2D.Double first = new Ellipse2D.Double(x,y,75,75);
Ellipse2D.Double second = new Ellipse2D.Double(x+25,y,75,75);
Area circles = new Area(first);
circles.add(new Area(second));
graphics2D.draw(circles);