将多个图像保存在一个png文件中

时间:2018-11-13 09:20:40

标签: javafx

我的应用程序中显示了许多图像。它们是由我输入的数据生成的。现在,我想将图像保存在一个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);
                    }
                }
            }
        }
    });

0 个答案:

没有答案