这不是很重要,但它让我困扰了一段时间。
问题描述:
鉴于:一条线(Line2D)
通缉:将线条绘制为楔形(填充的GeneralPath)
当然,这可以通过将Wedge创建为General Path然后通过Graphics(我的解决方案)填充它来完成。
我的第一种方法是楔形线,因为我不想因某种原因改变线对象,我只是想绘制线对象而不再考虑它。 创建楔形笔划没有问题(一些计算然后创建一般路径) - 但我无法填充(轻松)
显然,看起来Graphics2D的填充只会填充它所获得的形状 - 并且不会处理笔画的填充(如果有人想到这种行为就有意义了。)
问题:有没有办法填充笔触的形状(填充形状 - 更具体地说:一个GeneralPath - 在绘制之前以某种方式)?
答案 0 :(得分:3)
如果你在那里通过Line2D,BasicStroke.public Shape createStrokedShape(Shape s)
可能有帮助吗?
答案 1 :(得分:3)
答案 2 :(得分:0)
import java.awt.*;
public static Shape strokeToShape(Shape path, float strokeWidth)
return new BasicStroke(strokeWidth).createStrokedShape(path);
}
您还可以指定cap
join
和BasicStroke
参数