首页 > 解决方案 > 将多个图像保存在一个 png 文件中

问题描述

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

标签: javafx

解决方案


推荐阅读