在TornadoFX中使用SVG时遇到一个奇怪的问题。我在枚举中存储了一些SVG字符串,我在程序中使用它作为背景图像。当我在在线查看器中查看完全相同的SVG路径时,没有失真并且它显示正确:
但是当我在TornadoFX中使用相同的路径作为<div class="wrapper">
<div class="column">abc</div>
<div class="column">def</div>
<div class="column">ghi</div>
</div>
节点内容时,它看起来是这样的:
请注意顶部和底部中间部分的线条变得奇怪。
使用第二个svg更容易看到:
在线观看者:
TornadoFX计划:
我不太确定是什么原因引起的。在其他一切我查看(web,illustrator)中的SVG它们看起来很好,但是只要我在svgpath
节点中将它们作为字符串加载,它们就会显得扭曲。
我正在这样初始化它们:
svgpath
任何想法会导致这种奇怪的失真?我把头发拉到这里。
编辑 fiddle曲线SVG
答案 0 :(得分:1)
TornadoFX不会以任何方式影响SVG渲染,因此我看不到任何其他解释,这是JavaFX的SVG渲染功能中的错误。也许您正在使用JavaFX不支持的路径表达式?
答案 1 :(得分:0)
对于球体,您可以尝试在SVGPath对象上设置笔划,如下例所示吗?
stackpane {
svgpath("M107 380c40,-101 80,-102 120,-1m-1 -4c39,101 79,102 120,1m-1 4c39,-101 79,-101 120,-1m-1 -2c39,100 79,101 120,1", FillRule.EVEN_ODD) {
fill = Color.WHITE
stroke = Color.BLACK
strokeWidth = 16.0;
}
}
在问题的曲线部分,您可以发布完整的SVG路径吗?我怀疑路径源中有一些东西告诉JavaFX渲染更细的段。