Class PNMImageReader


  • public class PNMImageReader
    extends javax.imageio.ImageReader
    This class is the Java Image IO plugin reader for PNM images. It may subsample the image, clip the image, select sub-bands, and shift the decoded image origin if the proper decoding parameter are set in the provided PNMImageReadParam.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String aLine  
      private boolean gotHeader
      Indicates whether the header is read.
      private int height
      The original image height.
      private javax.imageio.stream.ImageInputStream iis
      The input stream where reads from
      private long imageDataOffset
      The stream position where the image data starts.
      private static int LINE_FEED  
      private static byte[] lineSeparator  
      private int maxValue
      Maximum pixel value.
      private PNMMetadata metadata  
      private static int PBM_ASCII  
      private static int PBM_RAW  
      private static int PGM_ASCII  
      private static int PGM_RAW  
      private static int PPM_ASCII  
      private static int PPM_RAW  
      private java.util.StringTokenizer token  
      private int variant
      File variant: PBM/PGM/PPM, ASCII/RAW.
      private int width
      The original image width.
      • Fields inherited from class javax.imageio.ImageReader

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

      Constructors 
      Constructor Description
      PNMImageReader​(javax.imageio.spi.ImageReaderSpi originator)
      Constructs PNMImageReader from the provided ImageReaderSpi.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canReadRaster()  
      private void checkIndex​(int imageIndex)  
      javax.imageio.ImageReadParam getDefaultReadParam()  
      int getHeight​(int imageIndex)  
      javax.imageio.metadata.IIOMetadata getImageMetadata​(int imageIndex)  
      java.util.Iterator getImageTypes​(int imageIndex)  
      int getMaxValue()  
      int getNumImages​(boolean allowSearch)
      Overrides the method defined in the superclass.
      javax.imageio.metadata.IIOMetadata getStreamMetadata()  
      int getVariant()  
      int getWidth​(int imageIndex)  
      boolean isRandomAccessEasy​(int imageIndex)  
      private boolean isRaw​(int v)
      Returns true if file variant is raw format, false if ASCII.
      java.awt.image.BufferedImage read​(int imageIndex, javax.imageio.ImageReadParam param)  
      private void readComments​(javax.imageio.stream.ImageInputStream stream, PNMMetadata metadata)
      Reads the comments.
      void readHeader()  
      private int readInteger​(javax.imageio.stream.ImageInputStream stream)
      Reads the next integer.
      java.awt.image.Raster readRaster​(int imageIndex, javax.imageio.ImageReadParam param)  
      void reset()  
      void setInput​(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
      Overrides the method defined in the superclass.
      private void skipInteger​(javax.imageio.stream.ImageInputStream stream, int num)  
      • Methods inherited from class javax.imageio.ImageReader

        abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, checkReadParamBandSettings, clearAbortRequest, computeRegions, dispose, getAspectRatio, getAvailableLocales, getDestination, getFormatName, getImageMetadata, getInput, getLocale, getMinIndex, getNumThumbnails, getOriginatingProvider, getRawImageType, getSourceRegion, getStreamMetadata, getThumbnailHeight, getThumbnailWidth, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, hasThumbnails, isIgnoringMetadata, isImageTiled, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readAsRenderedImage, readerSupportsThumbnails, readThumbnail, readTile, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, setInput, setInput, setLocale
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • lineSeparator

        private static byte[] lineSeparator
      • variant

        private int variant
        File variant: PBM/PGM/PPM, ASCII/RAW.
      • maxValue

        private int maxValue
        Maximum pixel value.
      • iis

        private javax.imageio.stream.ImageInputStream iis
        The input stream where reads from
      • gotHeader

        private boolean gotHeader
        Indicates whether the header is read.
      • imageDataOffset

        private long imageDataOffset
        The stream position where the image data starts.
      • width

        private int width
        The original image width.
      • height

        private int height
        The original image height.
      • aLine

        private java.lang.String aLine
      • token

        private java.util.StringTokenizer token
    • Constructor Detail

      • PNMImageReader

        public PNMImageReader​(javax.imageio.spi.ImageReaderSpi originator)
        Constructs PNMImageReader from the provided ImageReaderSpi.
    • Method Detail

      • setInput

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

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

        public int getWidth​(int imageIndex)
                     throws java.io.IOException
        Specified by:
        getWidth in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • getHeight

        public int getHeight​(int imageIndex)
                      throws java.io.IOException
        Specified by:
        getHeight in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • getVariant

        public int getVariant()
      • getMaxValue

        public int getMaxValue()
      • checkIndex

        private void checkIndex​(int imageIndex)
      • readHeader

        public void readHeader()
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • getImageTypes

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

        public javax.imageio.ImageReadParam getDefaultReadParam()
        Overrides:
        getDefaultReadParam in class javax.imageio.ImageReader
      • 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
      • getStreamMetadata

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

        public boolean isRandomAccessEasy​(int imageIndex)
                                   throws java.io.IOException
        Overrides:
        isRandomAccessEasy 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
        Specified by:
        read in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • canReadRaster

        public boolean canReadRaster()
        Overrides:
        canReadRaster in class javax.imageio.ImageReader
      • readRaster

        public java.awt.image.Raster readRaster​(int imageIndex,
                                                javax.imageio.ImageReadParam param)
                                         throws java.io.IOException
        Overrides:
        readRaster in class javax.imageio.ImageReader
        Throws:
        java.io.IOException
      • reset

        public void reset()
        Overrides:
        reset in class javax.imageio.ImageReader
      • isRaw

        private boolean isRaw​(int v)
        Returns true if file variant is raw format, false if ASCII.
      • readComments

        private void readComments​(javax.imageio.stream.ImageInputStream stream,
                                  PNMMetadata metadata)
                           throws java.io.IOException
        Reads the comments.
        Throws:
        java.io.IOException
      • readInteger

        private int readInteger​(javax.imageio.stream.ImageInputStream stream)
                         throws java.io.IOException
        Reads the next integer.
        Throws:
        java.io.IOException
      • skipInteger

        private void skipInteger​(javax.imageio.stream.ImageInputStream stream,
                                 int num)
                          throws java.io.IOException
        Throws:
        java.io.IOException