Tôi đã tạo ra một hình dạng tùy chỉnh, về cơ bản nó là một bộ sưu tập của bốn đối tượng Arc2D.Java - Điền vào một hình dạng tùy chỉnh
Khi các vòng cung này được vẽ, chúng tạo thành những gì có thể được coi là hình dạng ngôi sao tròn bốn điểm, giống như một cây cỏ ba lá. Khi một vòng cung kết thúc, cái kia bắt đầu. Chúng tạo thành một hình vuông ở trung tâm. Vì vậy, hãy tưởng tượng, lấy một hình vuông và vẽ nửa vòng tròn ở mỗi bên.
Tôi có thể vẽ hình này thành đối tượng Graphics2D, nhưng khi tôi tô nó, nó sẽ chỉ lấp đầy vòng cung chứ không phải hình vuông trung tâm. Điền vào ô vuông bên trong này là vấn đề của tôi.
Tôi đã triển khai phương thức getPathIterator()
, bên dưới. Tôi cũng đã triển khai phương thức . Nhưng nó vẫn sẽ chỉ lấp đầy vòng cung.
Tôi đã cố thêm Rectangle
. Khi điền vào hình dạng, hình chữ nhật/hình vuông sẽ được lấp đầy đúng cách, tuy nhiên nó cũng vẽ hình chữ nhật, mà rõ ràng nên được mong đợi, nhưng chắc chắn không phải là kết quả mong muốn.
Vì vậy, có ai có bất kỳ ý tưởng nào về cách "lấp đầy" hình dạng như vậy không?
public PathIterator getPathIterator(AffineTransform at) {
GeneralPath gp = new GeneralPath
for (Arc2D arcs : this.arcs) {
gp.append(arc, false);
}
return gp.getPathIterator(at);
}
kiểu đóng cửa của 'trường Arc2D' của bạn là gì? – trashgod