Java:填充形状的线条笔划
这其实并不重要,但这让我有一段时间感到困扰 问题描述:Java:填充形状的线条笔划,java,swing,user-interface,stroke,Java,Swing,User Interface,Stroke,这其实并不重要,但这让我有一段时间感到困扰 问题描述: 给定:一行(Line2D) 需要:将线绘制为楔形(填充的常规路径) 当然,这可以通过创建楔块作为一般路径,然后用图形填充来完成(我的解决方案) 我的第一种方法是楔形线条,因为出于某种原因,我不想更改线条对象,而且我只想画线条对象,不再考虑它。 创建楔形笔划没有问题(进行一些计算,然后创建一般路径)但我无法(轻松地)填充它。 显然,图形2D的填充似乎只填充它得到的形状,而不处理笔划的填充(如果仔细考虑,这种行为是有意义的) 问题:有没有办法填
给定:一行(Line2D)
需要:将线绘制为楔形(填充的常规路径) 当然,这可以通过创建楔块作为一般路径,然后用图形填充来完成(我的解决方案) 我的第一种方法是楔形线条,因为出于某种原因,我不想更改线条对象,而且我只想画线条对象,不再考虑它。 创建楔形笔划没有问题(进行一些计算,然后创建一般路径)但我无法(轻松地)填充它。 显然,图形2D的填充似乎只填充它得到的形状,而不处理笔划的填充(如果仔细考虑,这种行为是有意义的)
问题:有没有办法填充笔划的形状(填充形状-更具体地说:一般路径-在绘制之前以某种方式)?可能是
BasicStroke.public shape createStrokedShape(shape s)
如果您将线条2D传递到那里,它会有所帮助?一旦使用createStrokedShape()
,请注意“笔划形状的轮廓
,”而“填充形状的内部
”
您还可以指定BasicStroke
的cap
和join
参数
import java.awt.*;
public static Shape strokeToShape(Shape path, float strokeWidth)
return new BasicStroke(strokeWidth).createStrokedShape(path);
}