java.lang.Object
org.apache.batik.ext.awt.image.rendered.AbstractRed
org.apache.batik.ext.awt.image.codec.png.PNGRed
All Implemented Interfaces:
RenderedImage, CachableRed

public class PNGRed extends AbstractRed
Version:
$Id: PNGRed.java 1802297 2017-07-18 13:58:12Z ssteiner $
  • Field Details

    • PNG_COLOR_GRAY

      public static final int PNG_COLOR_GRAY
      See Also:
    • PNG_COLOR_RGB

      public static final int PNG_COLOR_RGB
      See Also:
    • PNG_COLOR_PALETTE

      public static final int PNG_COLOR_PALETTE
      See Also:
    • PNG_COLOR_GRAY_ALPHA

      public static final int PNG_COLOR_GRAY_ALPHA
      See Also:
    • PNG_COLOR_RGB_ALPHA

      public static final int PNG_COLOR_RGB_ALPHA
      See Also:
    • colorTypeNames

      private static final String[] colorTypeNames
    • PNG_FILTER_NONE

      public static final int PNG_FILTER_NONE
      See Also:
    • PNG_FILTER_SUB

      public static final int PNG_FILTER_SUB
      See Also:
    • PNG_FILTER_UP

      public static final int PNG_FILTER_UP
      See Also:
    • PNG_FILTER_AVERAGE

      public static final int PNG_FILTER_AVERAGE
      See Also:
    • PNG_FILTER_PAETH

      public static final int PNG_FILTER_PAETH
      See Also:
    • 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:
    • POST_GAMMA

      private static final int POST_GAMMA
      See Also:
    • POST_GRAY_LUT

      private static final int POST_GRAY_LUT
      See Also:
    • POST_GRAY_LUT_ADD_TRANS

      private static final int POST_GRAY_LUT_ADD_TRANS
      See Also:
    • POST_PALETTE_TO_RGB

      private static final int POST_PALETTE_TO_RGB
      See Also:
    • POST_PALETTE_TO_RGBA

      private static final int POST_PALETTE_TO_RGBA
      See Also:
    • POST_ADD_GRAY_TRANS

      private static final int POST_ADD_GRAY_TRANS
      See Also:
    • POST_ADD_RGB_TRANS

      private static final int POST_ADD_RGB_TRANS
      See Also:
    • POST_REMOVE_GRAY_TRANS

      private static final int POST_REMOVE_GRAY_TRANS
      See Also:
    • POST_REMOVE_RGB_TRANS

      private static final int POST_REMOVE_RGB_TRANS
      See Also:
    • POST_EXP_MASK

      private static final int POST_EXP_MASK
      See Also:
    • POST_GRAY_ALPHA_EXP

      private static final int POST_GRAY_ALPHA_EXP
      See Also:
    • POST_GAMMA_EXP

      private static final int POST_GAMMA_EXP
      See Also:
    • POST_GRAY_LUT_ADD_TRANS_EXP

      private static final int POST_GRAY_LUT_ADD_TRANS_EXP
      See Also:
    • POST_ADD_GRAY_TRANS_EXP

      private static final int POST_ADD_GRAY_TRANS_EXP
      See Also:
    • streamVec

      private List streamVec
    • dataStream

      private DataInputStream dataStream
    • bytesPerPixel

      private int bytesPerPixel
    • inputBands

      private int inputBands
    • outputBands

      private int outputBands
    • chunkIndex

      private int chunkIndex
    • textKeys

      private List textKeys
    • textStrings

      private List textStrings
    • ztextKeys

      private List ztextKeys
    • ztextStrings

      private List ztextStrings
    • theTile

      private WritableRaster theTile
    • bounds

      private Rectangle bounds
    • properties

      private Map properties
      A Hashtable containing the image properties.
    • gammaLut

      private int[] gammaLut
    • expandBits

      private final byte[][] expandBits
    • grayLut

      private int[] grayLut
    • GrayBits8

      private static final int[] GrayBits8
    • colorModelGray8

      private static final ComponentColorModel colorModelGray8
    • GrayAlphaBits8

      private static final int[] GrayAlphaBits8
    • colorModelGrayAlpha8

      private static final ComponentColorModel colorModelGrayAlpha8
    • GrayBits16

      private static final int[] GrayBits16
    • colorModelGray16

      private static final ComponentColorModel colorModelGray16
    • GrayAlphaBits16

      private static final int[] GrayAlphaBits16
    • colorModelGrayAlpha16

      private static final ComponentColorModel colorModelGrayAlpha16
    • GrayBits32

      private static final int[] GrayBits32
    • colorModelGray32

      private static final ComponentColorModel colorModelGray32
    • GrayAlphaBits32

      private static final int[] GrayAlphaBits32
    • colorModelGrayAlpha32

      private static final ComponentColorModel colorModelGrayAlpha32
    • RGBBits8

      private static final int[] RGBBits8
    • colorModelRGB8

      private static final ComponentColorModel colorModelRGB8
    • RGBABits8

      private static final int[] RGBABits8
    • colorModelRGBA8

      private static final ComponentColorModel colorModelRGBA8
    • RGBBits16

      private static final int[] RGBBits16
    • colorModelRGB16

      private static final ComponentColorModel colorModelRGB16
    • RGBABits16

      private static final int[] RGBABits16
    • colorModelRGBA16

      private static final ComponentColorModel colorModelRGBA16
    • RGBBits32

      private static final int[] RGBBits32
    • colorModelRGB32

      private static final ComponentColorModel colorModelRGB32
    • RGBABits32

      private static final int[] RGBABits32
    • colorModelRGBA32

      private static final ComponentColorModel colorModelRGBA32
  • Constructor Details

  • Method Details

    • initGammaLut

      private void initGammaLut(int bits)
    • initGrayLut

      private void initGrayLut(int bits)
    • getChunkType

      private static String getChunkType(DataInputStream distream)
    • readChunk

      private static PNGRed.PNGChunk readChunk(DataInputStream distream)
    • parse_IHDR_chunk

      private void parse_IHDR_chunk(PNGRed.PNGChunk chunk)
    • parse_IEND_chunk

      private void parse_IEND_chunk(PNGRed.PNGChunk chunk) throws Exception
      Throws:
      Exception
    • createComponentColorModel

      public static ColorModel createComponentColorModel(SampleModel sm)
      A convenience method to create an instance of ComponentColorModel suitable for use with the given SampleModel. The SampleModel should have a data type of DataBuffer.TYPE_BYTE, TYPE_USHORT, or TYPE_INT and between 1 and 4 bands. Depending on the number of bands of the SampleModel, either a gray, gray+alpha, rgb, or rgb+alpha ColorModel is returned.
    • parse_PLTE_chunk

      private void parse_PLTE_chunk(PNGRed.PNGChunk chunk)
    • parse_bKGD_chunk

      private void parse_bKGD_chunk(PNGRed.PNGChunk chunk)
    • parse_cHRM_chunk

      private void parse_cHRM_chunk(PNGRed.PNGChunk chunk)
    • parse_gAMA_chunk

      private void parse_gAMA_chunk(PNGRed.PNGChunk chunk)
    • parse_hIST_chunk

      private void parse_hIST_chunk(PNGRed.PNGChunk chunk)
    • parse_iCCP_chunk

      private void parse_iCCP_chunk(PNGRed.PNGChunk chunk)
    • parse_pHYs_chunk

      private void parse_pHYs_chunk(PNGRed.PNGChunk chunk)
    • parse_sBIT_chunk

      private void parse_sBIT_chunk(PNGRed.PNGChunk chunk)
    • parse_sRGB_chunk

      private void parse_sRGB_chunk(PNGRed.PNGChunk chunk)
    • parse_tEXt_chunk

      private void parse_tEXt_chunk(PNGRed.PNGChunk chunk)
    • parse_tIME_chunk

      private void parse_tIME_chunk(PNGRed.PNGChunk chunk)
    • parse_tRNS_chunk

      private void parse_tRNS_chunk(PNGRed.PNGChunk chunk)
    • parse_zTXt_chunk

      private void parse_zTXt_chunk(PNGRed.PNGChunk chunk)
    • createRaster

      private 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)
    • paethPredictor

      private static int paethPredictor(int a, int b, int c)
    • decodePaethFilter

      private static void decodePaethFilter(byte[] curr, byte[] prev, int count, int bpp)
    • processPixels

      private void processPixels(int process, Raster src, WritableRaster dst, int xOffset, int step, int y, int width)
    • decodePass

      private void decodePass(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)
    • copyData

      public WritableRaster copyData(WritableRaster wr)
    • getTile

      public Raster getTile(int tileX, int tileY)
      Specified by:
      getTile in interface RenderedImage
      Overrides:
      getTile in class AbstractRed