如何将 SVG 图像用作 yFiles for JavaFX 的节点样式?

How do I use SVG images as node styles with yFiles for JavaFX?

我需要用 SVG 图像设置节点样式,但无法使其工作。我正在使用 ImageNodeStyle 并将 SVG 图像传递给构造函数。但是,将此样式应用于节点没有任何效果。我尝试使用位图图像,它们工作正常。

如何为节点样式启用 SVG 图像支持?

yFiles for JavaFX 使用 JavaFX 作为渲染引擎,遗憾的是 JavaFX 不直接支持 SVG 图像。您需要将 SVG 图像转换为 JavaFX 可以理解的图像,然后才能将其与 ImageNodeStyle 一起使用。

使用 WebViews 是另一种选择,但这是一个非常重量级的解决方案,对于许多 SVG 来说扩展性不是很好。您当然可以用于渲染背景 SVG,但我不会使用数百个实例来显示用于节点可视化的简单 SVG 图形。

看看this answer to a related SVG/JavaFX question:它提出了一个通用问题的解决方案,它应该也适用于这个特定问题。