Class OpenJp2ImageReader

java.lang.Object
javax.imageio.ImageReader
de.digitalcollections.openjpeg.imageio.OpenJp2ImageReader

public class OpenJp2ImageReader
extends javax.imageio.ImageReader
ImageReader for JPEG2000 images, based on the openjp2 library from the OpenJPEG project, accessed via JNR-FFI.
  • Field Summary

    Fields inherited from class javax.imageio.ImageReader

    availableLocales, ignoreMetadata, input, locale, minIndex, originatingProvider, progressListeners, seekForwardOnly, updateListeners, warningListeners, warningLocales
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected OpenJp2ImageReader​(javax.imageio.spi.ImageReaderSpi originatingProvider, OpenJpeg lib)  
  • Method Summary

    Modifier and Type Method Description
    void dispose()  
    int getHeight​(int imageIndex)
    Get the height of the given resolution of the image.
    javax.imageio.metadata.IIOMetadata getImageMetadata​(int imageIndex)  
    java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes​(int imageIndex)  
    int getNumImages​(boolean allowSearch)
    Corresponds to the number of resolutions in the image.
    javax.imageio.metadata.IIOMetadata getStreamMetadata()  
    int getTileGridXOffset​(int imageIndex)  
    int getTileGridYOffset​(int imageIndex)  
    int getTileHeight​(int imageIndex)  
    int getTileWidth​(int imageIndex)  
    int getWidth​(int imageIndex)
    Get the width of the given resolution of the image.
    boolean isImageTiled​(int imageIndex)  
    java.awt.image.BufferedImage read​(int imageIndex, javax.imageio.ImageReadParam param)
    Read the image in the given resolution.
    java.awt.image.BufferedImage readTile​(int imageIndex, int tileX, int tileY)  
    void setInput​(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)  

    Methods inherited from class javax.imageio.ImageReader

    abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, canReadRaster, checkReadParamBandSettings, clearAbortRequest, computeRegions, getAspectRatio, getAvailableLocales, getDefaultReadParam, getDestination, getFormatName, getImageMetadata, getInput, getLocale, getMinIndex, getNumThumbnails, getOriginatingProvider, getRawImageType, getSourceRegion, getStreamMetadata, getThumbnailHeight, getThumbnailWidth, hasThumbnails, isIgnoringMetadata, isRandomAccessEasy, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readAsRenderedImage, readerSupportsThumbnails, readRaster, readThumbnail, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, reset, setInput, setInput, setLocale

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • OpenJp2ImageReader

      protected OpenJp2ImageReader​(javax.imageio.spi.ImageReaderSpi originatingProvider, OpenJpeg lib)
  • Method Details

    • setInput

      public void setInput​(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
      Overrides:
      setInput in class javax.imageio.ImageReader
    • getNumImages

      public int getNumImages​(boolean allowSearch) throws java.io.IOException
      Corresponds to the number of resolutions in the image.

      Image 0 has the native resolution, all following indices are 1/2^idx times smaller.

      Specified by:
      getNumImages in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getWidth

      public int getWidth​(int imageIndex) throws java.io.IOException
      Get the width of the given resolution of the image.
      Specified by:
      getWidth in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getHeight

      public int getHeight​(int imageIndex) throws java.io.IOException
      Get the height of the given resolution of the image.
      Specified by:
      getHeight in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getImageTypes

      public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes​(int imageIndex) throws java.io.IOException
      Specified by:
      getImageTypes in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • read

      public java.awt.image.BufferedImage read​(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException
      Read the image in the given resolution.
      Specified by:
      read in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • isImageTiled

      public boolean isImageTiled​(int imageIndex) throws java.io.IOException
      Overrides:
      isImageTiled in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getTileWidth

      public int getTileWidth​(int imageIndex) throws java.io.IOException
      Overrides:
      getTileWidth in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getTileHeight

      public int getTileHeight​(int imageIndex) throws java.io.IOException
      Overrides:
      getTileHeight in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getTileGridXOffset

      public int getTileGridXOffset​(int imageIndex) throws java.io.IOException
      Overrides:
      getTileGridXOffset in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getTileGridYOffset

      public int getTileGridYOffset​(int imageIndex) throws java.io.IOException
      Overrides:
      getTileGridYOffset in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • readTile

      public java.awt.image.BufferedImage readTile​(int imageIndex, int tileX, int tileY) throws java.io.IOException
      Overrides:
      readTile in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getStreamMetadata

      public javax.imageio.metadata.IIOMetadata getStreamMetadata() throws java.io.IOException
      Specified by:
      getStreamMetadata in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • getImageMetadata

      public javax.imageio.metadata.IIOMetadata getImageMetadata​(int imageIndex) throws java.io.IOException
      Specified by:
      getImageMetadata in class javax.imageio.ImageReader
      Throws:
      java.io.IOException
    • dispose

      public void dispose()
      Overrides:
      dispose in class javax.imageio.ImageReader