javafx - 将多个图像保存在一个 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);
}
}
}
}
});
解决方案
推荐阅读
- javascript - 如果其 url 更改,如何收听弹出窗口的“消息”?
- amazon-web-services - ElasticSearch 备份到 S3 AWS
- ruby - 在 Ruby 中通过 TCP 发送消息或文件的代码
- python - Keras - 如何处理不同长度的波输入,将训练数据分成批次
- mysql - 如何在mysql中获取具有相同ID的数据
- typescript - Angular Unit Test SpyOn 给我错误
- c# - 如何在 LINQ C# 中加入三个表时进行分组
- authentication - StackOverflow 是否使用 OpenID Connect 进行 Google 登录?
- javascript - Angular 6 - 如何在打字稿中克隆/复制 div?
- c++ - std::endl << std::flush 有目的吗?