Я пытаюсь преобразовать изображение JPEG2000 (.jp2) в другие форматы (JPEG или PNG), поэтому я пытаюсь использовать метод записи пакета javax.imageio
. Это прекрасно работает для других форматов (например, из JPEG в PNG), но когда дело доходит до JPEG2000 (или TIFF), возникает исключение. Может ли кто-нибудь сказать мне, каковы возможные форматы входного изображения?
Exception in thread "main" java.lang.IllegalArgumentException: im == null!
at javax.imageio.ImageIO.write(ImageIO.java:1457)
at javax.imageio.ImageIO.write(ImageIO.java:1565)
at decodeincodeimages.AndroidInterface.convertFormat(AndroidInterface.java:199)
at Main_package.Execute.main(Execute.java:69)
Java Result: 1
И это метод:
public static boolean convertFormat(String inputImagePath,
String outputImagePath, String formatName) throws IOException {
FileInputStream inputStream = new FileInputStream(inputImagePath);
FileOutputStream outputStream = new FileOutputStream(outputImagePath);
// reads input image from file
BufferedImage inputImage = ImageIO.read(inputStream);
// writes to the output image in specified format
boolean result = ImageIO.write(inputImage, formatName, outputStream);
// needs to close the streams
outputStream.close();
inputStream.close();
return result;
}
И я называю это так:
System.out.println(AndroidInterface.convertFormat("g:\\picture.jp2","g:\\conv.gif", "gif"));