我创建了一个自定义形状,实际上它是四个Arc2D对象的集合。
当这些弧线被绘制时,它们形成了一个可以被认为是四点圆角星形的形状,有点像三叶草。其中一个弧线结束,另一个弧线开始。它们在中心形成一个正方形。所以想象一下,在每个边上画半圆的正方形。
我可以将这个形状绘制到Graphics2D对象上,但是当我填充它时,它只会填充弧线而不是中心正方形。我的问题是如何填充这个内部正方形。
我已经实现了下面的getPathIterator()方法和contains()方法。但它仍然只会填充弧线。
我尝试添加了一个Rectangle。当填充形状时,矩形/正方形将被正确地填充,但它也会绘制矩形,这显然是可以预料的,但绝对不是期望的结果。
那么,有人有任何关于如何“填充”这样一个形状的想法吗?
当这些弧线被绘制时,它们形成了一个可以被认为是四点圆角星形的形状,有点像三叶草。其中一个弧线结束,另一个弧线开始。它们在中心形成一个正方形。所以想象一下,在每个边上画半圆的正方形。
我可以将这个形状绘制到Graphics2D对象上,但是当我填充它时,它只会填充弧线而不是中心正方形。我的问题是如何填充这个内部正方形。
我已经实现了下面的getPathIterator()方法和contains()方法。但它仍然只会填充弧线。
我尝试添加了一个Rectangle。当填充形状时,矩形/正方形将被正确地填充,但它也会绘制矩形,这显然是可以预料的,但绝对不是期望的结果。
那么,有人有任何关于如何“填充”这样一个形状的想法吗?
public PathIterator getPathIterator(AffineTransform at) {
GeneralPath gp = new GeneralPath
for (Arc2D arcs : this.arcs) {
gp.append(arc, false);
}
return gp.getPathIterator(at);
}
Arc2D
实例的闭包类型是什么? - trashgod