我的应用程序中显示了许多图像。它们是由我输入的数据生成的。现在,我想将图像保存在一个png文件中(希望使用jpg,但png也可以完成此工作)。现在,最后一张图像将被下一张图像覆盖,因此只有最后一张图像存储在png文件中。我考虑过创建一个包含要保存在png文件中的所有图像的图像。有谁知道如何做到这一点?还是有一种更简单的方法将图像保存在一个文件中?
private final ObservableList<Image> pdfFilePages = FXCollections.observableArrayList();
pngButton.setOnAction(e -> {
if (pdfFilePages.size() > 0) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle(I18N.get("key.save_to_png"));
File file = fileChooser.showSaveDialog(dialogStage);
if (file != null) {
for (Image img : pdfFilePages) {
ImageView imgView = new ImageView(img);
try {
BufferedImage bi = SwingFXUtils.fromFXImage(img, null);
ImageIO.write(bi, "png", file);
} catch (IOException e1) {
LOGGER.error(e1.getMessage(), e1);
}
}
}
}
});