JavaFX2.2:将图像保存到文件,将路径保存到变量并在其他舞台上显示图像

时间:2014-01-14 12:53:26

标签: image save javafx-2 bufferedimage

我正在尝试为每个条目制作包含产品图片的库存应用程序。我有一个filechooser,我可以在其中选择图片并在imageviewer字段中显示。

但我不知道:

  • 如何将已挑选的图片保存在工作文件夹中
  • 在变量中写入图片的路径,我可以在我的应用程序中的另一个窗口/阶段(Imageviewer)上显示图片。

以下是显示图片的filechooserimageviewer的代码:

{
@FXML
private void uploadPicture() {
FileChooser fileChooser = new FileChooser();

// Set extension filter
FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter(
"JPG files (*.jpg)", "*.JPG");
FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter(
"PNG files (*.png)", "*.PNG");
fileChooser.getExtensionFilters().addAll(extFilterJPG, extFilterPNG);

File file = fileChooser.showOpenDialog(null);
try {
BufferedImage bufferedImage = ImageIO.read(file);
Image image = SwingFXUtils.toFXImage(bufferedImage, null);
productPicture.setImage(image);
} catch (IOException ex) {
Logger.getLogger(ToolEditDialogController.class.getName()).log(
Level.SEVERE, null, ex);
}
};
}

1 个答案:

答案 0 :(得分:0)

要将文件保存(或者,我猜,将其复制)到另一个位置,只需执行

ImageIO.write(bufferedImage, format, new File(...));

其中format是“PNG”或“JPG”,文件是工作目录中的文件。

对于问题的第二部分,我不太清楚上下文。你想立即在一个单独的窗口中显示这个图像,还是要在以后显示它以响应用户做某事?