From 46b53a824cd8114e86f479a98dd233b7a05fe907 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 7 Feb 2013 12:35:04 +0100 Subject: [PATCH] TMI-TIFF: Added type spec for CMYK+A separated images --- .../imageio/plugins/tiff/TIFFImageReader.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 918854c8..195859f9 100644 --- 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 @@ -343,12 +343,21 @@ public class TIFFImageReader extends ImageReaderBase { return ImageTypeSpecifier.createBanded(cs, new int[] {0, 1, 2, 3}, new int[] {0, 0, 0, 0}, dataType, false, false); } } + case 5: + if (bitsPerSample == 8 || bitsPerSample == 16) { + switch (planarConfiguration) { + case TIFFBaseline.PLANARCONFIG_CHUNKY: + return ImageTypeSpecifier.createInterleaved(cs, new int[] {0, 1, 2, 3, 4}, dataType, true, false); + case TIFFExtension.PLANARCONFIG_PLANAR: + return ImageTypeSpecifier.createBanded(cs, new int[] {0, 1, 2, 3, 4}, new int[] {0, 0, 0, 0, 0}, dataType, true, false); + } + } // TODO: More samples might be ok, if multiple alpha or unknown samples, consult ExtraSamples default: throw new IIOException( - String.format("Unsupported TIFF SamplesPerPixels/BitsPerSample combination for Separated TIFF (expected 4/8 or 4/16): %d/%s", samplesPerPixel, bitsPerSample) + String.format("Unsupported TIFF SamplesPerPixels/BitsPerSample combination for Separated TIFF (expected 4/8, 4/16, 5/8 or 5/16): %d/%s", samplesPerPixel, bitsPerSample) ); } case TIFFBaseline.PHOTOMETRIC_MASK: