[英]Weird SVG distortion with TornadoFX
在TornadoFX中使用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.