com.sun.media.imageio.plugins.tiff
public abstract class TIFFCompressor extends Object
Field Summary | |
---|---|
protected int | compressionTagValue
The value to be assigned to the TIFF Compression tag in the
TIFF image metadata. |
protected String | compressionType
The name of the compression type supported by this compressor. |
protected boolean | isCompressionLossless
Whether the compression is lossless. |
protected IIOMetadata | metadata
The IIOMetadata object containing metadata for the
current image. |
protected ImageOutputStream | stream
The ImageOutputStream to be written. |
protected ImageWriter | writer
The ImageWriter calling this
TIFFCompressor . |
Constructor Summary | |
---|---|
TIFFCompressor(String compressionType, int compressionTagValue, boolean isCompressionLossless)
Creates a compressor object for use in compressing TIFF data. |
Method Summary | |
---|---|
abstract int | encode(byte[] b, int off, int width, int height, int[] bitsPerSample, int scanlineStride)
Encodes the supplied image data, writing to the currently set
ImageOutputStream .
|
int | getCompressionTagValue()
Retrieve the value to be assigned to the TIFF Compression tag
in the TIFF image metadata.
|
String | getCompressionType()
Retrieve the name of the compression type supported by this compressor.
|
IIOMetadata | getMetadata()
Returns the current IIOMetadata object.
|
ImageOutputStream | getStream()
Returns the ImageOutputStream that will be written.
|
ImageWriter | getWriter()
Returns the current ImageWriter .
|
boolean | isCompressionLossless()
Retrieves a value indicating whether the compression is lossless.
|
void | setMetadata(IIOMetadata metadata)
Sets the value of the metadata field.
|
void | setStream(ImageOutputStream stream)
Sets the ImageOutputStream to be written.
|
void | setWriter(ImageWriter writer)
Sets the value of the writer field.
|
IIOMetadata
object containing metadata for the
current image.ImageOutputStream
to be written.ImageWriter
calling this
TIFFCompressor
.The parameters compressionTagValue
and
isCompressionLossless
are provided to accomodate
compression types which are unknown. A compression type is
"known" if it is either among those already supported by the
TIFF writer (see TIFFImageWriteParam), or is listed in
the TIFF 6.0 specification but not supported. If the compression
type is unknown, the compressionTagValue
and
isCompressionLossless
parameters are ignored.
Parameters: compressionType The name of the compression type. compressionTagValue The value to be assigned to the TIFF
Compression tag in the TIFF image metadata; ignored if
compressionType
is a known type. isCompressionLossless Whether the compression is lossless;
ignored if compressionType
is a known type.
Throws: IllegalArgumentException if compressionType
is
null
or compressionTagValue
is less than
1
.
ImageOutputStream
.
Parameters: b an array of byte
s containing the packed
but uncompressed image data. off the starting offset of the data to be written in the
array b
. width the width of the rectangle of pixels to be written. height the height of the rectangle of pixels to be written. bitsPerSample an array of int
s indicting
the number of bits used to represent each image sample within
a pixel. scanlineStride the number of bytes separating each
row of the input data.
Returns: the number of bytes written.
Throws: IOException if the supplied data cannot be encoded by
this TIFFCompressor
, or if any I/O error occurs
during writing.
Returns: The Compression tag value.
Returns: The compression type name.
IIOMetadata
object.
Returns: the IIOMetadata
object for the image being
written.
See Also: setMetadata
ImageOutputStream
that will be written.
Returns: an ImageOutputStream
.
See Also: setStream
Returns: Whether the compression is lossless.
metadata
field.
Parameters: metadata the IIOMetadata
object for the
image being written.
See Also: getMetadata
ImageOutputStream
to be written.
Parameters: stream an ImageOutputStream
to be written.
See Also: TIFFCompressor