使用TornadoFX时出现奇怪的SVG失真

时间:2017-07-21 05:30:02

标签: svg javafx tornadofx

在TornadoFX中使用SVG时遇到一个奇怪的问题。我在枚举中存储了一些SVG字符串,我在程序中使用它作为背景图像。当我在在线查看器中查看完全相同的SVG路径时,没有失真并且它显示正确:

dumb globe svg

但是当我在TornadoFX中使用相同的路径作为<div class="wrapper"> <div class="column">abc</div> <div class="column">def</div> <div class="column">ghi</div> </div>节点内容时,它看起来是这样的:

dumb globe but distorted

请注意顶部和底部中间部分的线条变得奇怪。

使用第二个svg更容易看到:

在线观看者:

dumb waves i'm not that great at this ok

TornadoFX计划:

dumb waves but distorted

我不太确定是什么原因引起的。在其他一切我查看(web,illustrator)中的SVG它们看起来很好,但是只要我在svgpath节点中将它们作为字符串加载,它们就会显得扭曲。

我正在这样初始化它们:

svgpath

任何想法会导致这种奇怪的失真?我把头发拉到这里。

编辑 fiddle曲线SVG

2 个答案:

答案 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渲染更细的段。