Class PNMImageReader
- java.lang.Object
-
- javax.imageio.ImageReader
-
- com.github.jaiimageio.impl.plugins.pnm.PNMImageReader
-
public class PNMImageReader extends javax.imageio.ImageReaderThis 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 providedPNMImageReadParam.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringaLineprivate booleangotHeaderIndicates whether the header is read.private intheightThe original image height.private javax.imageio.stream.ImageInputStreamiisThe input stream where reads fromprivate longimageDataOffsetThe stream position where the image data starts.private static intLINE_FEEDprivate static byte[]lineSeparatorprivate intmaxValueMaximum pixel value.private PNMMetadatametadataprivate static intPBM_ASCIIprivate static intPBM_RAWprivate static intPGM_ASCIIprivate static intPGM_RAWprivate static intPPM_ASCIIprivate static intPPM_RAWprivate java.util.StringTokenizertokenprivate intvariantFile variant: PBM/PGM/PPM, ASCII/RAW.private intwidthThe original image width.
-
Constructor Summary
Constructors Constructor Description PNMImageReader(javax.imageio.spi.ImageReaderSpi originator)ConstructsPNMImageReaderfrom the providedImageReaderSpi.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanReadRaster()private voidcheckIndex(int imageIndex)javax.imageio.ImageReadParamgetDefaultReadParam()intgetHeight(int imageIndex)javax.imageio.metadata.IIOMetadatagetImageMetadata(int imageIndex)java.util.IteratorgetImageTypes(int imageIndex)intgetMaxValue()intgetNumImages(boolean allowSearch)Overrides the method defined in the superclass.javax.imageio.metadata.IIOMetadatagetStreamMetadata()intgetVariant()intgetWidth(int imageIndex)booleanisRandomAccessEasy(int imageIndex)private booleanisRaw(int v)Returns true if file variant is raw format, false if ASCII.java.awt.image.BufferedImageread(int imageIndex, javax.imageio.ImageReadParam param)private voidreadComments(javax.imageio.stream.ImageInputStream stream, PNMMetadata metadata)Reads the comments.voidreadHeader()private intreadInteger(javax.imageio.stream.ImageInputStream stream)Reads the next integer.java.awt.image.RasterreadRaster(int imageIndex, javax.imageio.ImageReadParam param)voidreset()voidsetInput(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)Overrides the method defined in the superclass.private voidskipInteger(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
-
-
-
-
Field Detail
-
PBM_ASCII
private static final int PBM_ASCII
- See Also:
- Constant Field Values
-
PGM_ASCII
private static final int PGM_ASCII
- See Also:
- Constant Field Values
-
PPM_ASCII
private static final int PPM_ASCII
- See Also:
- Constant Field Values
-
PBM_RAW
private static final int PBM_RAW
- See Also:
- Constant Field Values
-
PGM_RAW
private static final int PGM_RAW
- See Also:
- Constant Field Values
-
PPM_RAW
private static final int PPM_RAW
- See Also:
- Constant Field Values
-
LINE_FEED
private static final int LINE_FEED
- See Also:
- Constant Field Values
-
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
-
metadata
private PNMMetadata metadata
-
-
Method Detail
-
setInput
public void setInput(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)Overrides the method defined in the superclass.- Overrides:
setInputin classjavax.imageio.ImageReader
-
getNumImages
public int getNumImages(boolean allowSearch) throws java.io.IOExceptionOverrides the method defined in the superclass.- Specified by:
getNumImagesin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getWidth
public int getWidth(int imageIndex) throws java.io.IOException- Specified by:
getWidthin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getHeight
public int getHeight(int imageIndex) throws java.io.IOException- Specified by:
getHeightin classjavax.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:
getImageTypesin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getDefaultReadParam
public javax.imageio.ImageReadParam getDefaultReadParam()
- Overrides:
getDefaultReadParamin classjavax.imageio.ImageReader
-
getImageMetadata
public javax.imageio.metadata.IIOMetadata getImageMetadata(int imageIndex) throws java.io.IOException- Specified by:
getImageMetadatain classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getStreamMetadata
public javax.imageio.metadata.IIOMetadata getStreamMetadata() throws java.io.IOException- Specified by:
getStreamMetadatain classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
isRandomAccessEasy
public boolean isRandomAccessEasy(int imageIndex) throws java.io.IOException- Overrides:
isRandomAccessEasyin classjavax.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:
readin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
canReadRaster
public boolean canReadRaster()
- Overrides:
canReadRasterin classjavax.imageio.ImageReader
-
readRaster
public java.awt.image.Raster readRaster(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException- Overrides:
readRasterin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
reset
public void reset()
- Overrides:
resetin classjavax.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.IOExceptionReads the comments.- Throws:
java.io.IOException
-
readInteger
private int readInteger(javax.imageio.stream.ImageInputStream stream) throws java.io.IOExceptionReads 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
-
-