使用 FileChooser 保存可写图像图像
Using FileChooser to save a writableimage image
我有一个可写图像,我想使用 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() 的代码 Class:
private void SaveFile(writableimage content, File file){
try {
FileWriter fileWriter = null;
fileWriter = new FileWriter(file);
fileWriter.write(content);
fileWriter.close();
} catch (IOException ex) {
}
}
您需要 AWT 缓冲图像而不是使用文件编写器 reader,试试这个
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
编辑:你还应该打印你的异常,因为当它中断时你不知道它为什么会告诉哪一行中断了它
我有一个可写图像,我想使用 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() 的代码 Class:
private void SaveFile(writableimage content, File file){
try {
FileWriter fileWriter = null;
fileWriter = new FileWriter(file);
fileWriter.write(content);
fileWriter.close();
} catch (IOException ex) {
}
}
您需要 AWT 缓冲图像而不是使用文件编写器 reader,试试这个
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
编辑:你还应该打印你的异常,因为当它中断时你不知道它为什么会告诉哪一行中断了它