Как сохранить изображение из ImageView при помощи FileChooser

Моё приложение сохраняет изображение в этом методе:

private void saveFile() throws IOException {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setInitialDirectory(new File("D:\\save_pict"));
    fileChooser.setTitle("Save Picture");
    fileChooser.setInitialFileName("new picture");
    fileChooser.getExtensionFilters().addAll(
            new FileChooser.ExtensionFilter("JPG", "*.jpg"),
            new FileChooser.ExtensionFilter("BMP", "*.bmp"),
            new FileChooser.ExtensionFilter("PNG", "*.png")
    );
    File file = fileChooser.showSaveDialog(null);

    if (file != null) {
        System.out.println("Процесс сохранения файла");

        if (imgView.getImage() != null) {

            ImageIO.write(SwingFXUtils.fromFXImage(imgView.getImage(), null), "jpg", file);

            System.out.println("Файл сохранен\n");

        } else System.out.println("Файл не найден\n");

    } else {
        System.out.println("Файл не удалось сохранить\n");
    }
}

Я изменяю изображение, и после сохраняю измененное изображение в ImageView:

Image pict = SwingFXUtils.toFXImage(result, null);
imgView.setImage(pict);

После этого действия, метод saveFile не сохраняет изображение, в чем может быть проблема?

Если я сохраню сразу после изменений в изображении, все работает отлично:

File output = new File("test_grey.jpg");
ImageIO.write(result, "jpg", output);

Ответы (0 шт):