public class TIFFEncodeParam extends java.lang.Object implements ImageEncodeParam
ImageEncodeParam
for encoding images in
the TIFF format.
This class allows for the specification of encoding parameters. By
default, the image is encoded without any compression, and is written
out consisting of strips, not tiles. The particular compression scheme
to be used can be specified by using the setCompression()
method. The compression scheme specified will be honored only if it is
compatible with the type of image being written out. For example,
Group3 and Group4 compressions can only be used with Bilevel images.
Writing of tiled TIFF images can be enabled by calling the
setWriteTiled()
method.
This class is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.
Constructor and Description |
---|
TIFFEncodeParam()
Constructs a TIFFEncodeParam object with default values for
all parameters.
|
Modifier and Type | Method and Description |
---|---|
CompressionValue |
getCompression()
Returns the value of the compression parameter.
|
int |
getDeflateLevel()
Gets the compression level for DEFLATE compression.
|
TIFFField[] |
getExtraFields()
Returns the value set by
setExtraFields() . |
java.util.Iterator |
getExtraImages()
Returns the additional image
Iterator specified via
setExtraImages() or null if none was
supplied or if a null value was supplied. |
boolean |
getJPEGCompressRGBToYCbCr()
Whether RGB data will be converted to YCbCr when using JPEG compression.
|
int |
getTileHeight()
Retrieves the tile height set via
setTileSize() . |
int |
getTileWidth()
Retrieves the tile width set via
setTileSize() . |
boolean |
getWriteTiled()
Returns the value of the writeTiled parameter.
|
void |
setCompression(CompressionValue compression)
Specifies the type of compression to be used.
|
void |
setDeflateLevel(int deflateLevel)
Sets the compression level for DEFLATE-compressed data which should
either be
java.util.Deflater.DEFAULT_COMPRESSION or a
value in the range [1,9] where larger values indicate more compression. |
void |
setExtraFields(TIFFField[] extraFields)
Sets an array of extra fields to be written to the TIFF Image File
Directory (IFD).
|
void |
setExtraImages(java.util.Iterator extraImages)
Sets an
Iterator of additional images to be written
after the image passed as an argument to the ImageEncoder . |
void |
setJPEGCompressRGBToYCbCr(boolean convertJPEGRGBToYCbCr)
Sets flag indicating whether to convert RGB data to YCbCr when the
compression type is JPEG.
|
void |
setTileSize(int tileWidth,
int tileHeight)
Sets the dimensions of the tiles to be written.
|
void |
setWriteTiled(boolean writeTiled)
If set, the data will be written out in tiled format, instead of
in strips.
|
public TIFFEncodeParam()
public CompressionValue getCompression()
public void setCompression(CompressionValue compression)
If compression
is set to any value but
COMPRESSION_NONE
and the OutputStream
supplied to the ImageEncoder
is not a
SeekableOutputStream
, then the encoder will use either
a temporary file or a memory cache when compressing the data
depending on whether the file system is accessible. Compression
will therefore be more efficient if a SeekableOutputStream
is supplied.
compression
- The compression type.public boolean getWriteTiled()
public void setWriteTiled(boolean writeTiled)
writeTiled
- Specifies whether the image data should be
wriiten out in tiled format.public void setTileSize(int tileWidth, int tileHeight)
If the data are being written as tiles, i.e.,
getWriteTiled()
returns true
, then the
default tile dimensions used by the encoder are those of the tiles
of the image being encoded.
If the data are being written as strips, i.e.,
getWriteTiled()
returns false
, the width
of each strip is always the width of the image and the default
number of rows per strip is 8.
tileWidth
- The tile width; ignored if strips are used.tileHeight
- The tile height or number of rows per strip.public int getTileWidth()
setTileSize()
.public int getTileHeight()
setTileSize()
.public void setExtraImages(java.util.Iterator extraImages)
Iterator
of additional images to be written
after the image passed as an argument to the ImageEncoder
.
The methods on the supplied Iterator
must only be invoked
by the ImageEncoder
which will exhaust the available
values unless an error occurs.
The value returned by an invocation of next()
on the
Iterator
must return either a RenderedImage
or an Object[]
of length 2 wherein the element at index
zero is a RenderedImage
amd the other element is a
TIFFEncodeParam
. If no TIFFEncodeParam
is
supplied in this manner for an additional image, the parameters used
to create the ImageEncoder
will be used. The extra
image Iterator
set on any TIFFEncodeParam
of an additional image will in all cases be ignored.
public java.util.Iterator getExtraImages()
Iterator
specified via
setExtraImages()
or null
if none was
supplied or if a null
value was supplied.public void setDeflateLevel(int deflateLevel)
java.util.Deflater.DEFAULT_COMPRESSION
or a
value in the range [1,9] where larger values indicate more compression.
The default setting is Deflater.DEFAULT_COMPRESSION
. This
setting is ignored if the compression type is not DEFLATE.public int getDeflateLevel()
public void setJPEGCompressRGBToYCbCr(boolean convertJPEGRGBToYCbCr)
true
.
This flag is ignored if the compression type is not JPEG.public boolean getJPEGCompressRGBToYCbCr()
public void setExtraFields(TIFFField[] extraFields)
extraFields
- An array of extra fields; the parameter is
copied by reference.public TIFFField[] getExtraFields()
setExtraFields()
.Copyright 1999-2021 The Apache Software Foundation. All Rights Reserved.