Что я хочу сделать, это прочитать изображение из FileChooser и записать его в файл. Мне нужно было сохранить изображение в файле javafx.scene.image.Image, чтобы я мог его отображать и закрепить внутри круга. У меня есть небольшая проблема с попыткой написать изображение, которое я получил от javafx.scene.image.Image к файлу. Процесс конвертации не является текучим, конвертируется из CMYK в RGB (поэтому, превращая мою картинку в какую-то розовую вещь.javafx читать javafx.scene.image.Image to ImageIO.write(), от CMYK до RGB
Пожалуйста, я проверил множество других источников, и никто не смог дать мне заметное решение.
FileChooser fileChooser = new FileChooser();
File selectedFile = fileChooser.showOpenDialog(parent);
// get Image from selectedFile
Image userImg = = new Image(selectedFile.toURI().toURL().toString());
if (userImg != null) {
String format = "jpg";
String filename = "d:\\pictureName."+ format;
File file = new File(filename);
// convert Image to BufferedImage
BufferedImage bufferedImage = SwingFXUtils.fromFXImage(userImg, null);
try {
// this is where i want to convert the color mode
// from cmyk to rgb, before i write it to file
ImageIO.write(bufferedImage, format, file);
} catch (IOException e) {
System.out.println("Exception :: "+ e.getMessage());
}
}
Хорошее преобразование CMYK в RGB в Java - задача. См. Это [ответ] (http://stackoverflow.com/a/12132630/413337) для полного решения. – Codo