diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java index ea61f61a..d83c21d6 100644 --- a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java +++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java @@ -1428,8 +1428,9 @@ public abstract class ImageReaderAbstractTest { catch (IIOException | IllegalArgumentException expected) { // TODO: This is thrown by ImageReader.getDestination. But are we happy with that? String message = expected.getMessage().toLowerCase(); - if (!(message.contains("destination") && message.contains("type"))) { - // Allow this to bubble up, du to a bug in the Sun PNGImageReader + if (!(message.contains("destination") && message.contains("type") + || message.contains("num source & dest bands differ"))) { + // Allow this to bubble up, due to a bug in the Sun PNGImageReader throw expected; } } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 898caed8..d26cdd2a 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -274,6 +274,20 @@ public final class JPEGImageReader extends ImageReaderBase { return typeList.iterator(); } + else if (csType == JPEGColorSpace.RGB) { + // Bug in com.sun...JPEGImageReader: returns gray as acceptable type, but refuses to convert + ArrayList typeList = new ArrayList<>(); + + // Filter out the gray type + while (types.hasNext()) { + ImageTypeSpecifier type = types.next(); + if (type.getBufferedImageType() != BufferedImage.TYPE_BYTE_GRAY) { + typeList.add(type); + } + } + + return typeList.iterator(); + } return types; } diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index e6cc6933..361890ce 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -88,6 +88,7 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTest