Class J2KImageReader

java.lang.Object
javax.imageio.ImageReader
com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReader
All Implemented Interfaces:
MsgLogger

public class J2KImageReader extends ImageReader implements MsgLogger
This class is the Java Image IO plugin reader for JPEG 2000 JP2 image file format. It has the capability to load the compressed bilevel images, color-indexed byte images, or multi-band images in byte/ushort/short/int data type. It may subsample the image, select bands, clip the image, and shift the decoded image origin if the proper decoding parameter are set in the provided J2KImageReadParam.
  • Constructor Details

    • J2KImageReader

      public J2KImageReader(ImageReaderSpi originator)
      Constructs J2KImageReader from the provided ImageReaderSpi.
  • Method Details

    • computeRegionsWrapper

      public static void computeRegionsWrapper(ImageReadParam param, boolean allowZeroDestOffset, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
      Wrapper for the protected method computeRegions. So it can be access from the classes which are not in ImageReader hierarchy.
    • checkReadParamBandSettingsWrapper

      public static void checkReadParamBandSettingsWrapper(ImageReadParam param, int numSrcBands, int numDstBands)
      Wrapper for the protected method checkReadParamBandSettings. So it can be access from the classes which are not in ImageReader hierarchy.
    • processImageUpdateWrapper

      public void processImageUpdateWrapper(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
      Wrapper for the protected method processImageUpdate So it can be access from the classes which are not in ImageReader hierarchy.
    • processImageProgressWrapper

      public void processImageProgressWrapper(float percentageDone)
      Wrapper for the protected method processImageProgress So it can be access from the classes which are not in ImageReader hierarchy.
    • setInput

      public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)
      Overrides the method defined in the superclass.
      Overrides:
      setInput in class ImageReader
    • getNumImages

      public int getNumImages(boolean allowSearch) throws IOException
      Overrides the method defined in the superclass.
      Specified by:
      getNumImages in class ImageReader
      Throws:
      IOException
    • getWidth

      public int getWidth(int imageIndex) throws IOException
      Specified by:
      getWidth in class ImageReader
      Throws:
      IOException
    • getHeight

      public int getHeight(int imageIndex) throws IOException
      Specified by:
      getHeight in class ImageReader
      Throws:
      IOException
    • getTileGridXOffset

      public int getTileGridXOffset(int imageIndex) throws IOException
      Overrides:
      getTileGridXOffset in class ImageReader
      Throws:
      IOException
    • getTileGridYOffset

      public int getTileGridYOffset(int imageIndex) throws IOException
      Overrides:
      getTileGridYOffset in class ImageReader
      Throws:
      IOException
    • getTileWidth

      public int getTileWidth(int imageIndex) throws IOException
      Overrides:
      getTileWidth in class ImageReader
      Throws:
      IOException
    • getTileHeight

      public int getTileHeight(int imageIndex) throws IOException
      Overrides:
      getTileHeight in class ImageReader
      Throws:
      IOException
    • readHeader

      public void readHeader()
    • getImageTypes

      public Iterator getImageTypes(int imageIndex) throws IOException
      Specified by:
      getImageTypes in class ImageReader
      Throws:
      IOException
    • getDefaultReadParam

      public ImageReadParam getDefaultReadParam()
      Overrides:
      getDefaultReadParam in class ImageReader
    • getImageMetadata

      public IIOMetadata getImageMetadata(int imageIndex) throws IOException
      Specified by:
      getImageMetadata in class ImageReader
      Throws:
      IOException
    • getStreamMetadata

      public IIOMetadata getStreamMetadata() throws IOException
      Specified by:
      getStreamMetadata in class ImageReader
      Throws:
      IOException
    • read

      public BufferedImage read(int imageIndex, ImageReadParam param) throws IOException
      Specified by:
      read in class ImageReader
      Throws:
      IOException
    • readAsRenderedImage

      public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException
      Overrides:
      readAsRenderedImage in class ImageReader
      Throws:
      IOException
    • canReadRaster

      public boolean canReadRaster()
      Overrides:
      canReadRaster in class ImageReader
    • isRandomAccessEasy

      public boolean isRandomAccessEasy(int imageIndex) throws IOException
      Overrides:
      isRandomAccessEasy in class ImageReader
      Throws:
      IOException
    • readRaster

      public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException
      Overrides:
      readRaster in class ImageReader
      Throws:
      IOException
    • isImageTiled

      public boolean isImageTiled(int imageIndex)
      Overrides:
      isImageTiled in class ImageReader
    • reset

      public void reset()
      Overrides:
      reset in class ImageReader
    • getAbortRequest

      public boolean getAbortRequest()
      This method wraps the protected method abortRequested to allow the abortions be monitored by J2KReadState.
    • dispose

      public void dispose()
      Overrides:
      dispose in class ImageReader
    • flush

      public void flush()
      Description copied from interface: MsgLogger
      Writes any buffered data from the println() method to the device.
      Specified by:
      flush in interface MsgLogger
    • println

      public void println(String str, int flind, int ind)
      Description copied from interface: MsgLogger
      Prints the string 'str' to the output device, appending a line return. The message is reformatted as appropriate to the particular diplaying device, where 'flind' and 'ind' are used as hints for performing that operation. However, any newlines appearing in 'str' are respected. The output device may not display the string until flush() is called. Some implementations may automatically flush when this method is called. This method just prints the string, the string does not make part of a "message" in the sense that no severity is associated to it.
      Specified by:
      println in interface MsgLogger
      Parameters:
      str - The string to print
      flind - Indentation of the first line
      ind - Indentation of any other lines.
    • printmsg

      public void printmsg(int sev, String msg)
      Description copied from interface: MsgLogger
      Prints the message 'msg' to the output device, appending a newline, with severity 'sev'. Some implementations where the appended newline is irrelevant may not append the newline. Depending on the implementation the severity of the message may be added to it. The message is reformatted as appropriate for the output devic, but any newline characters are respected.
      Specified by:
      printmsg in interface MsgLogger
      Parameters:
      sev - The message severity (LOG, INFO, etc.)
      msg - The message to display