Class PNGDescriptor

All Implemented Interfaces:
OperationDescriptor, RegistryElementDescriptor, Serializable

public class PNGDescriptor
extends OperationDescriptorImpl

An OperationDescriptor describing the "PNG" operation.

The "PNG" operation reads a standard PNG version 1.1 input stream. The PNG (Portable Network Graphics) specification may be found at

The "PNG" operation implements the entire PNG specification, but provides access only to the final, high-resolution version of interlaced images.

The second parameter contains an instance of PNGDecodeParam to be used during the decoding. It may be set to null in order to perform default decoding, or equivalently may be omitted.

The documentation for PNGDecodeParam describes the possible output formats of PNG images after decoding.

The classes in the package are not a committed part of the JAI API. Future releases of JAI will make use of new classes in their place. This class will change accordingly.

Resource List
Name Value
GlobalName PNG
LocalName PNG
Description Reads an image from a PNG stream.
Version 1.0
arg0Desc The SeekableStream to read from.
arg1Desc The PNGDecodeParam to use.

Parameter List
Name Class Type Default Value
param null

Property Name Class Comment
file_type String "PNG v. 1.0"
background_color java.awt.Color The suggested background color.
significant_bits int[] The number of significant bits stored in the file.
bit_depth Integer The bit depth of the file
color_type String One of "Grayscale", "Truecolor", "Index", "Grayscale with alpha" or "Truecolor with alpha"
interlace_method String "None" or "Adam7"
white_point_x Float The CIE X coordinate of the white point, if known.
white_point_y Float The CIE Y coordinate of the white point, if known.
red_x Float The CIE X coordinate of the red primary, if known.
red_y Float The CIE Y coordinate of the red primary, if known.
green_x Float The CIE X coordinate of the green primary, if known.
green_y Float The CIE Y coordinate of the green primary, if known.
blue_x Float The CIE X coordinate of the blue primary, if known.
blue_y Float The CIE Y coordinate of the blue primary, if known.
gamma Float The image gamma, if known.
x_pixels_per_unit Integer The number of horizontal pixels per unit.
y_pixels_per_unit Integer The number of vertical pixels per unit.
pixel_aspect_ratio Float The width of a pixel divided by its height.
pixel_units String "Meters" or null
timestamp java.util.Date The creation or modification time of the image.
text:* String The value of a tEXt chunk.
ztext:* String The value of a zTXt chunk (not yet implemented).
chunk:* byte[] The contents of any non-standard chunks.

See Also:
PNGDecodeParam, SeekableStream, OperationDescriptor, Serialized Form

Fields inherited from class
resources, sourceNames, supportedModes
Fields inherited from interface
Constructor Summary
Method Summary
static RenderedOp create(SeekableStream stream, PNGDecodeParam param, RenderingHints hints)
          Reads a standard JFIF (PNG) file.
Methods inherited from class
arePropertiesSupported, getDefaultSourceClass, getDestClass, getDestClass, getInvalidRegion, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParameterListDescriptor, getParamMaxValue, getParamMinValue, getParamNames, getPropertyGenerators, getPropertyGenerators, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, getSourceClasses, getSourceNames, getSupportedModes, isImmediate, isModeSupported, isRenderableSupported, isRenderedSupported, makeDefaultSourceClassList, validateArguments, validateArguments, validateParameters, validateParameters, validateRenderableArguments, validateRenderableSources, validateSources, validateSources
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public PNGDescriptor()
Method Detail


public static RenderedOp create(SeekableStream stream,
                                PNGDecodeParam param,
                                RenderingHints hints)
Reads a standard JFIF (PNG) file.

Creates a ParameterBlockJAI from all supplied arguments except hints and invokes JAI.create(String,ParameterBlock,RenderingHints).

stream - The SeekableStream to read from.
param - The PNGDecodeParam to use. May be null.
hints - The RenderingHints to use. May be null.
The RenderedOp destination.
IllegalArgumentException - if stream is null.
See Also:
JAI, ParameterBlockJAI, RenderedOp