From d97a0cc00b568dd1890b7667eaf6b71f990a87bd Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 7 Dec 2009 13:45:41 +0100 Subject: [PATCH] Now allows 64 entries in the EHB pallette. --- .../com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java index b9280135..4c0fa687 100755 --- a/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java +++ b/twelvemonkeys-imageio/iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java @@ -86,7 +86,7 @@ class CMAPChunk extends IFFChunk { if (numColors == 32) { paletteSize = 64; } - else { + else if (numColors != 64) { throw new IIOException("Unknown number of colors for EHB: " + numColors); } } @@ -100,7 +100,9 @@ class CMAPChunk extends IFFChunk { mGreens[i] = pInput.readByte(); mBlues[i] = pInput.readByte(); } - if (isEHB) { + + if (isEHB && numColors == 32) { + // Create the half-brite colors for (int i = 0; i < numColors; i++) { mReds[i + numColors] = (byte) ((mReds[i] & 0xff) / 2); mGreens[i + numColors] = (byte) ((mGreens[i] & 0xff) / 2);