A class describing how a stream is to be encoded. Instances of
this class or its subclasses are used to supply prescriptive
"how-to" information to instances of ImageWriter.
A plug-in for a specific image format may define a subclass of
this class, and return objects of that class from the
getDefaultWriteParam method of its
ImageWriter implementation. For example, the built-in
JPEG writer plug-in will return instances of
javax.imageio.plugins.jpeg.JPEGImageWriteParam.
The region of the image to be written is determined by first
intersecting the actual bounds of the image with the rectangle
specified by IIOParam.setSourceRegion, if any. If the
resulting rectangle has a width or height of zero, the writer will
throw an IIOException. If the intersection is
non-empty, writing will commence with the first subsampled pixel
and include additional pixels within the intersected bounds
according to the horizontal and vertical subsampling factors
specified by IIOParam.setSourceSubsampling .
Individual features such as tiling, progressive encoding, and
compression may be set in one of four modes.
MODE_DISABLED disables the features;
MODE_DEFAULT enables the feature with
writer-controlled parameter values; MODE_EXPLICIT
enables the feature and allows the use of a set method
to provide additional parameters; and
MODE_COPY_FROM_METADATA copies relevant parameter
values from the stream and image metadata objects passed to the
writer. The default for all features is
MODE_COPY_FROM_METADATA. Non-standard features
supplied in subclasses are encouraged, but not required to use a
similar scheme.
Plug-in writers may extend the functionality of
ImageWriteParam by providing a subclass that implements
additional, plug-in specific interfaces. It is up to the plug-in
to document what interfaces are available and how they are to be
used. Writers will silently ignore any extended features of an
ImageWriteParam subclass of which they are not aware.
Also, they may ignore any optional features that they normally
disable when creating their own ImageWriteParam
instances via getDefaultWriteParam.
Note that unless a query method exists for a capability, it must
be supported by all ImageWriter implementations
(e.g. progressive encoding is optional, but subsampling must be
supported).
ImageWriter.A plug-in for a specific image format may define a subclass of this class, and return objects of that class from the
getDefaultWriteParammethod of itsImageWriterimplementation. For example, the built-in JPEG writer plug-in will return instances ofjavax.imageio.plugins.jpeg.JPEGImageWriteParam.The region of the image to be written is determined by first intersecting the actual bounds of the image with the rectangle specified by
IIOParam.setSourceRegion, if any. If the resulting rectangle has a width or height of zero, the writer will throw anIIOException. If the intersection is non-empty, writing will commence with the first subsampled pixel and include additional pixels within the intersected bounds according to the horizontal and vertical subsampling factors specified byIIOParam.setSourceSubsampling.Individual features such as tiling, progressive encoding, and compression may be set in one of four modes.
MODE_DISABLEDdisables the features;MODE_DEFAULTenables the feature with writer-controlled parameter values;MODE_EXPLICITenables the feature and allows the use of asetmethod to provide additional parameters; andMODE_COPY_FROM_METADATAcopies relevant parameter values from the stream and image metadata objects passed to the writer. The default for all features isMODE_COPY_FROM_METADATA. Non-standard features supplied in subclasses are encouraged, but not required to use a similar scheme.Plug-in writers may extend the functionality of
ImageWriteParamby providing a subclass that implements additional, plug-in specific interfaces. It is up to the plug-in to document what interfaces are available and how they are to be used. Writers will silently ignore any extended features of anImageWriteParamsubclass of which they are not aware. Also, they may ignore any optional features that they normally disable when creating their ownImageWriteParaminstances viagetDefaultWriteParam.Note that unless a query method exists for a capability, it must be supported by all
ImageWriterimplementations (e.g. progressive encoding is optional, but subsampling must be supported).