JavaFX:如何在GraphicsContext上绘制路径?

时间:2015-01-20 11:13:40

标签: path javafx graphicscontext

JavaFX在GraphicsContext和高级Path节点上提供了低级路径绘制方法。

我想在类中存储形状并在GraphicsContext中绘制它们。 Path课对我来说似乎很方便。我知道,它应该用作场景图中的节点,但它包含我需要的所有绘图元素。

我正在寻找像这样的方法 GraphicsContext.fillPath(Path) 但没有。

我是否必须手动迭代Path元素并将其转换为低级GraphicsContext方法,或者我是否遗漏了某些内容?

2 个答案:

答案 0 :(得分:1)

  

我是否必须手动迭代Path元素并将它们转换为低级GraphicsContext方法?

是。您需要编写一个翻译器来获取从Path中提取的数据并调用适当的图形上下文方法(请参阅Path Rendering methods),例如beginPath()moveTo(),{{ 1}},lineTo()closePath()fill


您可以使用SVGPath,而不是使用路径。将SVGPath从场景图节点数据转换为GraphicsContext方法很容易 - 您只需执行gc.appendSVGPath(svgPath.getContent())

答案 1 :(得分:0)

我知道,它来的有点晚,但这里有一个简单的通用解决方案......

由于 Path 类的类型为 Node,因此您可以在特定的 Node.snapshot() 上使用方法 Path,然后传递生成的 { {1}} 到 WritableImage

这是一个如何实现这一点的简单代码片段:

GraphicsContext.drawImage()
相关问题