gpt4 book ai didi

svg - 在 JavaFX 上的按钮中加载 SVG 文件

转载 作者:行者123 更新时间:2023-12-04 14:40:56 34 4
gpt4 key购买 nike

我有一个在 Inkscape 中创建的 SVG 图像。我把它和我的类(class)放在同一个目录下。

有没有办法加载该图像并将其转换为 SVG 路径?

这背后的想法是通过 getClass().getResource("image.svg").toExternalForm() 获得该图像。并将其转换为 imageSVG.setContent() 的 SVGPath方法。之后,我想将该 SVGPath 对象放在带有 button.setGraphic() 的按钮中方法。

我不想使用转码器或 BufferedImage 类。

最佳答案

SvgLoaderhttps://github.com/afester/FranzXaver 提供,您可以简单地将 SVG 文件加载为 JavaFX 节点并将其设置在按钮上作为其图形:

...
// load the svg file
InputStream svgFile =
getClass().getResourceAsStream("/afester/javafx/examples/data/Ghostscript_Tiger.svg");
SvgLoader loader = new SvgLoader();
Group svgImage = loader.loadSvg(svgFile);

// Scale the image and wrap it in a Group to make the button
// properly scale to the size of the image
svgImage.setScaleX(0.1);
svgImage.setScaleY(0.1);
Group graphic = new Group(svgImage);

// create a button and set the graphics node
Button button = new Button();
button.setGraphic(graphic);

// add the button to the scene and show the scene
HBox layout = new HBox(button);
HBox.setMargin(button, new Insets(10));
Scene scene = new Scene(layout);
primaryStage.setScene(scene);
primaryStage.show();
...

Screenshot of image on button

关于svg - 在 JavaFX 上的按钮中加载 SVG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40078276/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com