1
說我繪製了兩個30像素半徑和20像素分開的圓圈。你會得到一個交叉線。我怎樣才能防止這種交叉?Java:製作多個形狀的輪廓
我試過看着各種圖形過濾,但我沒有找到任何合適的東西。
(這個問題並不限於2圈)
說我繪製了兩個30像素半徑和20像素分開的圓圈。你會得到一個交叉線。我怎樣才能防止這種交叉?Java:製作多個形狀的輪廓
我試過看着各種圖形過濾,但我沒有找到任何合適的東西。
(這個問題並不限於2圈)
您可以使用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);
和我將如何再畫這個新的領域? –
它是Shape,所以使用Graphics2D的public void draw(Shape s)方法傳遞結果區域。 – StanislavL
啊,當然,形狀繪圖是Graphics2D。嗯,它似乎沒有工作。它仍然繪製兩個圓圈,因爲它們將分開繪製。讓我在問題中檢查這一點。 –