Image 使用FileChooser保存可写映像
我有一个可写映像,我想使用文件选择器保存。 我该怎么做,因为它不适用于此代码:Image 使用FileChooser保存可写映像,image,javafx,filechooser,Image,Javafx,Filechooser,我有一个可写映像,我想使用文件选择器保存。 我该怎么做,因为它不适用于此代码: public void handle(ActionEvent event) { FileChooser fileChooser = new FileChooser(); //Set extension filter FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter
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()类的代码:
您不需要使用文件编写器,而需要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();
}
}
我也在网上找到了这个
编辑:您还应该打印您的异常,因为当它中断时,您不知道为什么它会告诉您是哪行中断了它
private void SaveFile(Image content, File file){
try {
BufferedImage bufferedImage = SwingFXUtils.fromFXImage(image, null);
ImageIO.write(bufferedImage, "png", file);
} catch (IOException ex) {
ex.printStackTrace();
}
}