簡體   English   中英

使用TornadoFX奇怪的SVG失真

[英]Weird SVG distortion with TornadoFX

在TornadoFX中使用SVG時遇到一個奇怪的問題。 我在程序中將一些SVG字符串存儲在枚舉中,用作背景圖像。 當我在在線查看器中查看完全相同的SVG路徑時,沒有任何失真,並且可以正確顯示:

愚蠢的地球svg

但是當我在TornadoFX中使用相同的路徑作為svgpath節點內容時,它看起來像這樣:

愚蠢的地球儀,但扭曲了

注意頂部和底部中間部分的線變稀。

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

在線觀看者:

愚蠢的波浪,我不是很好

TornadoFX程序:

啞波但失真

我不太確定是什么原因造成的。 在其他所有內容中,我都在(網絡,插畫家)中查看了SVG,但它們看起來不錯,但是一旦我將它們作為字符串加載到svgpath節點中,它們就會出現變形。

我正在像這樣初始化它們:

class mView : View() {

  override val root = stackpane {
    svgpath("M910.7,329.8a446.43,446.43,0,1,0,35,173.23A443.52,443.52.. etc") {
        addClass(SvgStyle)
    }
//..
}

有什么想法會導致這種奇怪的失真嗎? 我在這里拉我的頭發。

編輯:彎曲的SVG的小提琴

TornadoFX不會以任何方式影響SVG渲染,因此我看不到任何其他解釋,這是JavaFX的SVG渲染功能中的錯誤。 也許您使用的是JavaFX不支持的路徑表達式?

對於球體,是否可以嘗試像下面的示例一樣在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渲染更細的段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM