From 743c2bf3cdc6535cad4c82a519ec5636af574db5 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 18 Nov 2017 16:16:46 +0100 Subject: [PATCH] #394: Fix for ArrayIndexOutOfBoundsException for grayscale floating point TIFFs + bonus WhiteIsZero for float. --- .../twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 07a5c98f..b8b1258f 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 @@ -1765,8 +1765,6 @@ public final class TIFFImageReader extends ImageReaderBase { readFully(input, rowDataFloat); if (row >= srcRegion.y) { - // TODO: Allow param to decide tone mapping strategy, like in the HDRImageReader - clamp(rowDataFloat); normalizeColor(interpretation, rowDataFloat); // Subsample horizontal @@ -2008,6 +2006,9 @@ public final class TIFFImageReader extends ImageReaderBase { } private void normalizeColor(int photometricInterpretation, float[] data) { + // TODO: Allow param to decide tone mapping strategy, like in the HDRImageReader + clamp(data); + switch (photometricInterpretation) { case TIFFBaseline.PHOTOMETRIC_WHITE_IS_ZERO: // Inverse values