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 bb3324c9..dd661065 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 @@ -129,8 +129,7 @@ public final class TIFFImageReader extends ImageReaderBase { // TODO: Tiling support (readTile, readTileRaster) // TODO: Implement readAsRenderedImage to allow tiled RenderedImage? // For some layouts, we could do reads super-fast with a memory mapped buffer. - // TODO: Implement readAsRaster directly (100% correctly) - // http://download.java.net/media/jai-imageio/javadoc/1.1/com/sun/media/imageio/plugins/tiff/package-summary.html#ImageMetadata + // TODO: Implement readRaster directly (100% correctly) // TODOs Extension support // TODO: Auto-rotate based on Orientation @@ -144,6 +143,7 @@ public final class TIFFImageReader extends ImageReaderBase { // Source region // Subsampling // IIOMetadata (stay close to Sun's TIFF metadata) + // http://download.java.net/media/jai-imageio/javadoc/1.1/com/sun/media/imageio/plugins/tiff/package-summary.html#ImageMetadata // Support ICCProfile // Support PlanarConfiguration 2 // Support Compression 3 & 4 (CCITT T.4 & T.6) @@ -2219,6 +2219,16 @@ public final class TIFFImageReader extends ImageReaderBase { return null; } + @Override + public boolean canReadRaster() { + return true; + } + + @Override + public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException { + return read(imageIndex, param).getData(); + } + // TODO: Tiling support // isImageTiled // getTileWidth diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java index 1591bd60..f6d364ff 100644 --- a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java @@ -39,6 +39,7 @@ import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.awt.*; import java.awt.image.BufferedImage; +import java.awt.image.Raster; import java.io.IOException; import java.nio.ByteOrder; import java.util.Arrays; @@ -630,4 +631,36 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest