Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:填充形状的线条笔划_Java_Swing_User Interface_Stroke - Fatal编程技术网

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);
}