ciao!
ho un problema con delle immagini JPG da processare.
in sostanza ho questo metodo al quale passo varie immagini:
codice:
public void resizeImage(String inputImage, String dir, int width, int height) throws IOException {
File f = new File(inputImage);
Image image = ImageIO.read(f);
Image newImage = image.getScaledInstance(width, height, Image.SCALE_SMOOTH);
BufferedImage buf = new BufferedImage(newImage.getWidth(null), newImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = buf.createGraphics();
g2.drawImage(newImage, 0, 0, null);
g2.dispose();
String ext = FilenameUtils.getExtension(f.getName());
ImageIO.write(buf, ext, new File(dir + f.getName()));
}
su alcune immagini JPG (NON corrotte, e perfettamente visibili), ottengo questo errore:
codice:
javax.imageio.IIOException: Unsupported Image Type
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1068)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1039)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1308)
at com.mp.resize.ImageResize.resizeImage(ImageResize.java:29)
at com.mp.resize.StartResizing.lambda$run$0(StartResizing.java:45)
at com.mp.resize.StartResizing$$Lambda$23/457233649.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.mp.resize.StartResizing.run(StartResizing.java:43)
at java.lang.Thread.run(Thread.java:745)
mi pare di aver capito che il problema può essere la differenza tra RGB e CMYK.
se fosse così, o un problema simile, come potrei risolvere??