【问题标题】:Using FileChooser to save a writableimage image使用 FileChooser 保存可写图像
【发布时间】:2017-11-09 21:28:26
【问题描述】:

我有一个可写图像,我想使用 FileChooser 进行保存。 我该怎么做,因为它不适用于此代码:

public void handle(ActionEvent event) {
          FileChooser fileChooser = new FileChooser();

          //Set extension filter
          FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.png");
          fileChooser.getExtensionFilters().add(extFilter);

          //Show save file dialog
          File file = fileChooser.showSaveDialog(primaryStage);

          if(file != null){
              SaveFile(writableImage, file);
          }
      }

这里是 SaveFile() 类的代码:

private void SaveFile(writableimage content, File file){
    try {
        FileWriter fileWriter = null;

        fileWriter = new FileWriter(file);
        fileWriter.write(content);
        fileWriter.close();
    } catch (IOException ex) {
    }

}

【问题讨论】:

    标签: image javafx filechooser


    【解决方案1】:

    您需要一个 AWT 缓冲图像阅读器,而不是使用文件写入器,试试这个

    private void SaveFile(Image content, File file){
        try {
            BufferedImage bufferedImage = SwingFXUtils.fromFXImage(image, null);
            ImageIO.write(bufferedImage, "png", file);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    
    }
    

    我也在网上找到了这个http://java-buddy.blogspot.com/2014/12/javafx-filechooser-open-and-save-image.html

    编辑:您还应该打印您的异常,因为当它中断并且您不知道为什么它会告诉哪一行中断它时

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多