Я хочу прочитать изображение, чтобы его масштабировать с помощью awt и Apache Commons Imaging, ранее известного как Apache Commons Sanselan Я не могу масштабировать изображение, но я вижу его в браузере правильно, как jpg без проблем. Получение информации изображения с помощьюJava не может прочитать изображение с помощью javax.imageio или Sanselan
Sanselan.getMetadata(fileData)
Я получаю эту информацию:
No Exif metadata.
Photoshop (IPTC) metadata:
Код
public static byte[] scale(byte[] fileData, int width, int height) {
ByteArrayInputStream in = new ByteArrayInputStream(fileData);
try {
BufferedImage img = javax.imageio.ImageIO.read(in);
....
return buffer.toByteArray();
} catch (IOException e1) {
System.out.println ("e1 -> " + e1.getMessage());
try {
BufferedImage img = Sanselan.getBufferedImage(in);
} catch (ImageReadException | IOException e2) {
System.out.println ("e2 -> " + e2.getMessage());
}
}
return fileData;
}
, но я получил это исключения:
e1 -> Unsupported Image Type
e2 -> Can't parse this format.
Вы очень сильно пометки. Что это значит с java-io или awt? Затем: какой файл изображений вы пытались загрузить? Вы пробовали другие форматы? Вы уверены, что файл является допустимым? – GhostCat
Проблема, по-видимому, в JPEG, внутреннее 'JPEGImageReader' не может читать. Можете ли вы приложить проблематичное изображение? Вы также можете попробовать добавить мой [TwelveMonkeys ImageIO JPEG плагин] (https://github.com/haraldk/TwelveMonkeys#jpeg), который поддерживает файлы CMYK JPEG и другие форматы, которые внутренний читатель не может прочитать. – haraldK