【发布时间】:2017-08-16 22:25:54
【问题描述】:
我需要使用 SVG 图像设置节点的样式,但无法使其正常工作。我正在使用 ImageNodeStyle 并将 SVG 图像传递给构造函数。但是,将此样式应用于节点没有效果。我尝试使用位图图像,它们工作正常。
如何为节点样式启用 SVG 图像支持?
【问题讨论】:
我需要使用 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:它提出了一个通用问题的解决方案,它也应该适用于这个特定问题。
【讨论】: