From f14159de57ac0dc2bcd969dfa24bfa5110784d49 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 21 Oct 2017 21:30:33 +0200 Subject: [PATCH] PSD Thumbnail fix. --- .../twelvemonkeys/imageio/plugins/psd/PSDImageReader.java | 7 +++++-- .../imageio/plugins/tiff/TIFFImageReader.java | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java index a0f7a6f6..1357cd51 100644 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReader.java @@ -1207,6 +1207,10 @@ public final class PSDImageReader extends ImageReaderBase { private List getThumbnailResources(final int imageIndex) throws IOException { checkBounds(imageIndex); + if (imageIndex > 0) { + return null; + } + readHeader(); List thumbnails = null; @@ -1240,7 +1244,7 @@ public final class PSDImageReader extends ImageReaderBase { List thumbnails = getThumbnailResources(imageIndex); if (thumbnails == null) { - throw new IndexOutOfBoundsException(String.format("thumbnail index %d > 0", thumbnailIndex)); + throw new IndexOutOfBoundsException(String.format("image index %d > 0", imageIndex)); } return thumbnails.get(thumbnailIndex); @@ -1258,7 +1262,6 @@ public final class PSDImageReader extends ImageReaderBase { @Override public BufferedImage readThumbnail(final int imageIndex, final int thumbnailIndex) throws IOException { - // TODO: Thumbnail progress listeners... PSDThumbnail thumbnail = getThumbnailResource(imageIndex, thumbnailIndex); // TODO: It's possible to attach listeners to the ImageIO reader delegate... But do we really care? diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java index 26c3af99..5e304135 100755 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java @@ -2397,7 +2397,7 @@ public final class TIFFImageReader extends ImageReaderBase { // // System.err.println("Scale time: " + (System.currentTimeMillis() - start) + " ms"); // } - if (image.getType() == BufferedImage.TYPE_CUSTOM) { + if (image != null && image.getType() == BufferedImage.TYPE_CUSTOM) { start = System.currentTimeMillis(); image = new ColorConvertOp(null).filter(image, new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB)); System.err.println("Conversion time: " + (System.currentTimeMillis() - start) + " ms"); @@ -2406,7 +2406,7 @@ public final class TIFFImageReader extends ImageReaderBase { showIt(image, String.format("Image: %s [%d x %d]", file.getName(), reader.getWidth(imageNo), reader.getHeight(imageNo))); try { - int numThumbnails = reader.getNumThumbnails(0); + int numThumbnails = reader.getNumThumbnails(imageNo); for (int thumbnailNo = 0; thumbnailNo < numThumbnails; thumbnailNo++) { BufferedImage thumbnail = reader.readThumbnail(imageNo, thumbnailNo); // System.err.println("thumbnail: " + thumbnail);