我的场景中有两个矩形。然后我使用setFill()
在这些矩形中设置背景并进行一些更改。如何使用saveDialog
将这些图像保存到磁盘?这是我的保存功能 -
FileChooser fileChooser = new FileChooser();
fileChooser.getExtensionFilters().add(new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"));
fileChooser.setTitle("Save Image");
File file = fileChooser.showSaveDialog(window);
rect2.getFill();
SaveFile(file);
答案 0 :(得分:1)
您可以通过调用节点上的snapshot(...)
从任意节点创建javafx.scene.image.Image
:
Image img = rect2.snapshot(null, null);
javax.imageio.ImageIO
类具有以标准格式保存图像的方法,但仅适用于AWT图像,因此您需要先转换它:
BufferedImage bImg = SwingFXUtils.fromFXImage(img, null);
String format = file.getName().substring(file.getName().lastIndexOf(".")+1);
ImageIO.write(bImg, format, file);