From 4b00945c9d2ebb4e59a9ccd4cd1a84b3ca6f5b34 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 4 Nov 2014 16:21:42 +0100 Subject: [PATCH] TMI-80: PCXImageReader now correctly skips rows and applies source region. Re-enabled test in DCXImageReader that earlier failed. --- .../imageio/plugins/pcx/PCXImageReader.java | 21 ++++++++----------- .../plugins/dcx/DCXImageReaderTest.java | 6 ------ .../plugins/pcx/PCXImageReaderTest.java | 9 ++++++++ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReader.java b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReader.java index d5ba699d..1eddfa15 100755 --- a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReader.java +++ b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReader.java @@ -45,10 +45,7 @@ import javax.imageio.stream.ImageInputStream; import java.awt.*; import java.awt.color.ColorSpace; import java.awt.image.*; -import java.io.DataInput; -import java.io.DataInputStream; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Iterator; @@ -214,7 +211,7 @@ public final class PCXImageReader extends ImageReaderBase { processImageProgress(100f * y / height); - if (y < srcRegion.y) { + if (y >= srcRegion.y + srcRegion.height) { break; } @@ -240,7 +237,7 @@ public final class PCXImageReader extends ImageReaderBase { processImageProgress(100f * y / height); - if (y < srcRegion.y) { + if (y >= srcRegion.y + srcRegion.height) { break; } @@ -279,15 +276,15 @@ public final class PCXImageReader extends ImageReaderBase { processImageProgress(100f * y / height * c / header.getChannels()); - if (y < srcRegion.y) { - break; - } - if (abortRequested()) { break; } } + if (y >= srcRegion.y + srcRegion.height) { + break; + } + if (abortRequested()) { processReadAborted(); break; @@ -444,8 +441,8 @@ public final class PCXImageReader extends ImageReaderBase { // param.setSourceSubsampling(2, 3, 0, 0); // param.setSourceSubsampling(2, 1, 0, 0); // -// int width = reader.getHdpi(0); -// int height = reader.getVdpi(0); +// int width = reader.getWidth(0); +// int height = reader.getHeight(0); // // param.setSourceRegion(new Rectangle(width / 4, height / 4, width / 2, height / 2)); // param.setSourceRegion(new Rectangle(width / 2, height / 2)); diff --git a/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXImageReaderTest.java b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXImageReaderTest.java index d521f62f..e5a9cc5b 100755 --- a/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXImageReaderTest.java +++ b/imageio/imageio-pcx/src/test/java/com/twelvemonkeys/imageio/plugins/dcx/DCXImageReaderTest.java @@ -84,10 +84,4 @@ public class DCXImageReaderTest extends ImageReaderAbstractTestCase