Class PNGImage
- java.lang.Object
-
- org.apache.batik.ext.awt.image.codec.util.SimpleRenderedImage
-
- org.apache.batik.ext.awt.image.codec.png.PNGImage
-
- All Implemented Interfaces:
java.awt.image.RenderedImage
class PNGImage extends SimpleRenderedImage
TO DO: zTXt chunks
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]alphaPaletteprivate int[][]bandOffsetsprivate intbitDepthprivate intbkgdBlueprivate intbkgdGreenprivate intbkgdRedprivate byte[]bluePaletteprivate intblueTransparentAlphaprivate intbytesPerPixelprivate float[]chromaticityprivate intchunkIndexprivate static java.awt.image.ComponentColorModelcolorModelGray16private static java.awt.image.ComponentColorModelcolorModelGray32private static java.awt.image.ComponentColorModelcolorModelGray8private static java.awt.image.ComponentColorModelcolorModelGrayAlpha16private static java.awt.image.ComponentColorModelcolorModelGrayAlpha32private static java.awt.image.ComponentColorModelcolorModelGrayAlpha8private static java.awt.image.ComponentColorModelcolorModelRGB16private static java.awt.image.ComponentColorModelcolorModelRGB32private static java.awt.image.ComponentColorModelcolorModelRGB8private static java.awt.image.ComponentColorModelcolorModelRGBA16private static java.awt.image.ComponentColorModelcolorModelRGBA32private static java.awt.image.ComponentColorModelcolorModelRGBA8private intcolorTypeprivate static java.lang.String[]colorTypeNamesprivate intcompressionMethodprivate java.io.DataInputStreamdataStreamprivate PNGDecodeParamdecodeParamprivate floatdisplayExponentprivate booleanemitPropertiesprivate PNGEncodeParamencodeParamprivate byte[][]expandBitsprivate booleanexpandGrayAlphaprivate booleanexpandPaletteprivate floatfileGammaprivate intfilterMethodprivate int[]gammaLutprivate booleangenerateEncodeParamprivate static int[]GrayAlphaBits16private static int[]GrayAlphaBits32private static int[]GrayAlphaBits8private static int[]GrayBits16private static int[]GrayBits32private static int[]GrayBits8private int[]grayLutprivate intgrayTransparentAlphaprivate byte[]greenPaletteprivate intgreenTransparentAlphaprivate intinputBandsprivate intinterlaceMethodprivate intmaxOpacityprivate booleanoutput8BitGrayprivate intoutputBandsprivate booleanoutputHasAlphaPaletteprivate intpaletteEntriesprivate booleanperformGammaCorrectionstatic intPNG_COLOR_GRAYstatic intPNG_COLOR_GRAY_ALPHAstatic intPNG_COLOR_PALETTEstatic intPNG_COLOR_RGBstatic intPNG_COLOR_RGB_ALPHAstatic intPNG_FILTER_AVERAGEstatic intPNG_FILTER_NONEstatic intPNG_FILTER_PAETHstatic intPNG_FILTER_SUBstatic intPNG_FILTER_UPprivate static intPOST_ADD_GRAY_TRANSprivate static intPOST_ADD_GRAY_TRANS_EXPprivate static intPOST_ADD_RGB_TRANSprivate static intPOST_EXP_MASKprivate static intPOST_GAMMAprivate static intPOST_GAMMA_EXPprivate static intPOST_GRAY_ALPHA_EXPprivate static intPOST_GRAY_LUTprivate static intPOST_GRAY_LUT_ADD_TRANSprivate static intPOST_GRAY_LUT_ADD_TRANS_EXPprivate static intPOST_NONEprivate static intPOST_PALETTE_TO_RGBprivate static intPOST_PALETTE_TO_RGBAprivate static intPOST_REMOVE_GRAY_TRANSprivate static intPOST_REMOVE_RGB_TRANSprivate intpostProcessprivate byte[]redPaletteprivate intredTransparentAlphaprivate static int[]RGBABits16private static int[]RGBABits32private static int[]RGBABits8private static int[]RGBBits16private static int[]RGBBits32private static int[]RGBBits8private int[]significantBitsprivate intsRGBRenderingIntentprivate java.util.ListstreamVecprivate booleansuppressAlphaprivate java.util.ListtextKeysprivate java.util.ListtextStringsprivate java.awt.image.WritableRastertheTileprivate floatuserExponentprivate java.util.ListztextKeysprivate java.util.ListztextStrings-
Fields inherited from class org.apache.batik.ext.awt.image.codec.util.SimpleRenderedImage
colorModel, height, minX, minY, properties, sampleModel, sources, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, width
-
-
Constructor Summary
Constructors Constructor Description PNGImage(java.io.InputStream stream, PNGDecodeParam decodeParam)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.awt.image.ColorModelcreateComponentColorModel(java.awt.image.SampleModel sm)A convenience method to create an instance ofComponentColorModelsuitable for use with the givenSampleModel.private java.awt.image.WritableRastercreateRaster(int width, int height, int bands, int scanlineStride, int bitDepth)private static voiddecodeAverageFilter(byte[] curr, byte[] prev, int count, int bpp)private voiddecodeImage(boolean useInterlacing)private static voiddecodePaethFilter(byte[] curr, byte[] prev, int count, int bpp)private voiddecodePass(java.awt.image.WritableRaster imRas, int xOffset, int yOffset, int xStep, int yStep, int passWidth, int passHeight)Reads in an image of a given size and returns it as a WritableRaster.private static voiddecodeSubFilter(byte[] curr, int count, int bpp)private static voiddecodeUpFilter(byte[] curr, byte[] prev, int count)private static java.lang.StringgetChunkType(java.io.DataInputStream distream)java.awt.image.RastergetTile(int tileX, int tileY)private voidinitGammaLut(int bits)private voidinitGrayLut(int bits)private voidparse_bKGD_chunk(PNGChunk chunk)private voidparse_cHRM_chunk(PNGChunk chunk)private voidparse_gAMA_chunk(PNGChunk chunk)private voidparse_hIST_chunk(PNGChunk chunk)private voidparse_iCCP_chunk(PNGChunk chunk)private voidparse_IEND_chunk(PNGChunk chunk)private voidparse_IHDR_chunk(PNGChunk chunk)private voidparse_pHYs_chunk(PNGChunk chunk)private voidparse_PLTE_chunk(PNGChunk chunk)private voidparse_sBIT_chunk(PNGChunk chunk)private voidparse_sRGB_chunk(PNGChunk chunk)private voidparse_tEXt_chunk(PNGChunk chunk)private voidparse_tIME_chunk(PNGChunk chunk)private voidparse_tRNS_chunk(PNGChunk chunk)private voidparse_zTXt_chunk(PNGChunk chunk)private voidprocessPixels(int process, java.awt.image.Raster src, java.awt.image.WritableRaster dst, int xOffset, int step, int y, int width)private static PNGChunkreadChunk(java.io.DataInputStream distream)-
Methods inherited from class org.apache.batik.ext.awt.image.codec.util.SimpleRenderedImage
copyData, getBounds, getColorModel, getData, getData, getHeight, getMaxTileX, getMaxTileY, getMaxX, getMaxY, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getPropertyNames, getSampleModel, getSources, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth, tileXToX, tileXToX, tileYToY, tileYToY, XToTileX, XToTileX, YToTileY, YToTileY
-
-
-
-
Field Detail
-
PNG_COLOR_GRAY
public static final int PNG_COLOR_GRAY
- See Also:
- Constant Field Values
-
PNG_COLOR_RGB
public static final int PNG_COLOR_RGB
- See Also:
- Constant Field Values
-
PNG_COLOR_PALETTE
public static final int PNG_COLOR_PALETTE
- See Also:
- Constant Field Values
-
PNG_COLOR_GRAY_ALPHA
public static final int PNG_COLOR_GRAY_ALPHA
- See Also:
- Constant Field Values
-
PNG_COLOR_RGB_ALPHA
public static final int PNG_COLOR_RGB_ALPHA
- See Also:
- Constant Field Values
-
colorTypeNames
private static final java.lang.String[] colorTypeNames
-
PNG_FILTER_NONE
public static final int PNG_FILTER_NONE
- See Also:
- Constant Field Values
-
PNG_FILTER_SUB
public static final int PNG_FILTER_SUB
- See Also:
- Constant Field Values
-
PNG_FILTER_UP
public static final int PNG_FILTER_UP
- See Also:
- Constant Field Values
-
PNG_FILTER_AVERAGE
public static final int PNG_FILTER_AVERAGE
- See Also:
- Constant Field Values
-
PNG_FILTER_PAETH
public static final int PNG_FILTER_PAETH
- See Also:
- Constant Field Values
-
bandOffsets
private int[][] bandOffsets
-
bitDepth
private int bitDepth
-
colorType
private int colorType
-
compressionMethod
private int compressionMethod
-
filterMethod
private int filterMethod
-
interlaceMethod
private int interlaceMethod
-
paletteEntries
private int paletteEntries
-
redPalette
private byte[] redPalette
-
greenPalette
private byte[] greenPalette
-
bluePalette
private byte[] bluePalette
-
alphaPalette
private byte[] alphaPalette
-
bkgdRed
private int bkgdRed
-
bkgdGreen
private int bkgdGreen
-
bkgdBlue
private int bkgdBlue
-
grayTransparentAlpha
private int grayTransparentAlpha
-
redTransparentAlpha
private int redTransparentAlpha
-
greenTransparentAlpha
private int greenTransparentAlpha
-
blueTransparentAlpha
private int blueTransparentAlpha
-
maxOpacity
private int maxOpacity
-
significantBits
private int[] significantBits
-
suppressAlpha
private boolean suppressAlpha
-
expandPalette
private boolean expandPalette
-
output8BitGray
private boolean output8BitGray
-
outputHasAlphaPalette
private boolean outputHasAlphaPalette
-
performGammaCorrection
private boolean performGammaCorrection
-
expandGrayAlpha
private boolean expandGrayAlpha
-
generateEncodeParam
private boolean generateEncodeParam
-
decodeParam
private PNGDecodeParam decodeParam
-
encodeParam
private PNGEncodeParam encodeParam
-
emitProperties
private boolean emitProperties
-
fileGamma
private float fileGamma
-
userExponent
private float userExponent
-
displayExponent
private float displayExponent
-
chromaticity
private float[] chromaticity
-
sRGBRenderingIntent
private int sRGBRenderingIntent
-
postProcess
private int postProcess
-
POST_NONE
private static final int POST_NONE
- See Also:
- Constant Field Values
-
POST_GAMMA
private static final int POST_GAMMA
- See Also:
- Constant Field Values
-
POST_GRAY_LUT
private static final int POST_GRAY_LUT
- See Also:
- Constant Field Values
-
POST_GRAY_LUT_ADD_TRANS
private static final int POST_GRAY_LUT_ADD_TRANS
- See Also:
- Constant Field Values
-
POST_PALETTE_TO_RGB
private static final int POST_PALETTE_TO_RGB
- See Also:
- Constant Field Values
-
POST_PALETTE_TO_RGBA
private static final int POST_PALETTE_TO_RGBA
- See Also:
- Constant Field Values
-
POST_ADD_GRAY_TRANS
private static final int POST_ADD_GRAY_TRANS
- See Also:
- Constant Field Values
-
POST_ADD_RGB_TRANS
private static final int POST_ADD_RGB_TRANS
- See Also:
- Constant Field Values
-
POST_REMOVE_GRAY_TRANS
private static final int POST_REMOVE_GRAY_TRANS
- See Also:
- Constant Field Values
-
POST_REMOVE_RGB_TRANS
private static final int POST_REMOVE_RGB_TRANS
- See Also:
- Constant Field Values
-
POST_EXP_MASK
private static final int POST_EXP_MASK
- See Also:
- Constant Field Values
-
POST_GRAY_ALPHA_EXP
private static final int POST_GRAY_ALPHA_EXP
- See Also:
- Constant Field Values
-
POST_GAMMA_EXP
private static final int POST_GAMMA_EXP
- See Also:
- Constant Field Values
-
POST_GRAY_LUT_ADD_TRANS_EXP
private static final int POST_GRAY_LUT_ADD_TRANS_EXP
- See Also:
- Constant Field Values
-
POST_ADD_GRAY_TRANS_EXP
private static final int POST_ADD_GRAY_TRANS_EXP
- See Also:
- Constant Field Values
-
streamVec
private java.util.List streamVec
-
dataStream
private java.io.DataInputStream dataStream
-
bytesPerPixel
private int bytesPerPixel
-
inputBands
private int inputBands
-
outputBands
private int outputBands
-
chunkIndex
private int chunkIndex
-
textKeys
private java.util.List textKeys
-
textStrings
private java.util.List textStrings
-
ztextKeys
private java.util.List ztextKeys
-
ztextStrings
private java.util.List ztextStrings
-
theTile
private java.awt.image.WritableRaster theTile
-
gammaLut
private int[] gammaLut
-
expandBits
private final byte[][] expandBits
-
grayLut
private int[] grayLut
-
GrayBits8
private static final int[] GrayBits8
-
colorModelGray8
private static final java.awt.image.ComponentColorModel colorModelGray8
-
GrayAlphaBits8
private static final int[] GrayAlphaBits8
-
colorModelGrayAlpha8
private static final java.awt.image.ComponentColorModel colorModelGrayAlpha8
-
GrayBits16
private static final int[] GrayBits16
-
colorModelGray16
private static final java.awt.image.ComponentColorModel colorModelGray16
-
GrayAlphaBits16
private static final int[] GrayAlphaBits16
-
colorModelGrayAlpha16
private static final java.awt.image.ComponentColorModel colorModelGrayAlpha16
-
GrayBits32
private static final int[] GrayBits32
-
colorModelGray32
private static final java.awt.image.ComponentColorModel colorModelGray32
-
GrayAlphaBits32
private static final int[] GrayAlphaBits32
-
colorModelGrayAlpha32
private static final java.awt.image.ComponentColorModel colorModelGrayAlpha32
-
RGBBits8
private static final int[] RGBBits8
-
colorModelRGB8
private static final java.awt.image.ComponentColorModel colorModelRGB8
-
RGBABits8
private static final int[] RGBABits8
-
colorModelRGBA8
private static final java.awt.image.ComponentColorModel colorModelRGBA8
-
RGBBits16
private static final int[] RGBBits16
-
colorModelRGB16
private static final java.awt.image.ComponentColorModel colorModelRGB16
-
RGBABits16
private static final int[] RGBABits16
-
colorModelRGBA16
private static final java.awt.image.ComponentColorModel colorModelRGBA16
-
RGBBits32
private static final int[] RGBBits32
-
colorModelRGB32
private static final java.awt.image.ComponentColorModel colorModelRGB32
-
RGBABits32
private static final int[] RGBABits32
-
colorModelRGBA32
private static final java.awt.image.ComponentColorModel colorModelRGBA32
-
-
Constructor Detail
-
PNGImage
public PNGImage(java.io.InputStream stream, PNGDecodeParam decodeParam) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
initGammaLut
private void initGammaLut(int bits)
-
initGrayLut
private void initGrayLut(int bits)
-
getChunkType
private static java.lang.String getChunkType(java.io.DataInputStream distream)
-
readChunk
private static PNGChunk readChunk(java.io.DataInputStream distream)
-
parse_IHDR_chunk
private void parse_IHDR_chunk(PNGChunk chunk)
-
parse_IEND_chunk
private void parse_IEND_chunk(PNGChunk chunk) throws java.lang.Exception
- Throws:
java.lang.Exception
-
createComponentColorModel
public static java.awt.image.ColorModel createComponentColorModel(java.awt.image.SampleModel sm)
A convenience method to create an instance ofComponentColorModelsuitable for use with the givenSampleModel. TheSampleModelshould have a data type ofDataBuffer.TYPE_BYTE,TYPE_USHORT, orTYPE_INTand between 1 and 4 bands. Depending on the number of bands of theSampleModel, either a gray, gray+alpha, rgb, or rgb+alphaColorModelis returned.
-
parse_PLTE_chunk
private void parse_PLTE_chunk(PNGChunk chunk)
-
parse_bKGD_chunk
private void parse_bKGD_chunk(PNGChunk chunk)
-
parse_cHRM_chunk
private void parse_cHRM_chunk(PNGChunk chunk)
-
parse_gAMA_chunk
private void parse_gAMA_chunk(PNGChunk chunk)
-
parse_hIST_chunk
private void parse_hIST_chunk(PNGChunk chunk)
-
parse_iCCP_chunk
private void parse_iCCP_chunk(PNGChunk chunk)
-
parse_pHYs_chunk
private void parse_pHYs_chunk(PNGChunk chunk)
-
parse_sBIT_chunk
private void parse_sBIT_chunk(PNGChunk chunk)
-
parse_sRGB_chunk
private void parse_sRGB_chunk(PNGChunk chunk)
-
parse_tEXt_chunk
private void parse_tEXt_chunk(PNGChunk chunk)
-
parse_tIME_chunk
private void parse_tIME_chunk(PNGChunk chunk)
-
parse_tRNS_chunk
private void parse_tRNS_chunk(PNGChunk chunk)
-
parse_zTXt_chunk
private void parse_zTXt_chunk(PNGChunk chunk)
-
createRaster
private java.awt.image.WritableRaster createRaster(int width, int height, int bands, int scanlineStride, int bitDepth)
-
decodeSubFilter
private static void decodeSubFilter(byte[] curr, int count, int bpp)
-
decodeUpFilter
private static void decodeUpFilter(byte[] curr, byte[] prev, int count)
-
decodeAverageFilter
private static void decodeAverageFilter(byte[] curr, byte[] prev, int count, int bpp)
-
decodePaethFilter
private static void decodePaethFilter(byte[] curr, byte[] prev, int count, int bpp)
-
processPixels
private void processPixels(int process, java.awt.image.Raster src, java.awt.image.WritableRaster dst, int xOffset, int step, int y, int width)
-
decodePass
private void decodePass(java.awt.image.WritableRaster imRas, int xOffset, int yOffset, int xStep, int yStep, int passWidth, int passHeight)Reads in an image of a given size and returns it as a WritableRaster.
-
decodeImage
private void decodeImage(boolean useInterlacing)
-
getTile
public java.awt.image.Raster getTile(int tileX, int tileY)
-
-