public abstract class TIFFCompressor extends Object
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
TIFFCompressor(String compressionType,
int compressionTagValue,
boolean isCompressionLossless)
Creates a compressor object for use in compressing TIFF data.
|
Modifier and Type | Method and Description |
---|---|
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. |
protected ImageWriter writer
ImageWriter
calling this
TIFFCompressor
.protected IIOMetadata metadata
IIOMetadata
object containing metadata for the
current image.protected String compressionType
protected int compressionTagValue
protected boolean isCompressionLossless
protected ImageOutputStream stream
ImageOutputStream
to be written.public TIFFCompressor(String compressionType, int compressionTagValue, boolean isCompressionLossless)
TIFFImageWriteParam.setTIFFCompressor(TIFFCompressor)
method to override the compressor of a supported compression type or
to provide the implementation of the compression algorithm of an
unsupported compression type.
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.
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.IllegalArgumentException
- if compressionType
is
null
or compressionTagValue
is less than
1
.public String getCompressionType()
public int getCompressionTagValue()
public boolean isCompressionLossless()
public void setStream(ImageOutputStream stream)
ImageOutputStream
to be written.stream
- an ImageOutputStream
to be written.getStream()
public ImageOutputStream getStream()
ImageOutputStream
that will be written.ImageOutputStream
.setStream(ImageOutputStream)
public void setWriter(ImageWriter writer)
writer
field.writer
- the current ImageWriter
.getWriter()
public ImageWriter getWriter()
ImageWriter
.ImageWriter
.setWriter(ImageWriter)
public void setMetadata(IIOMetadata metadata)
metadata
field.metadata
- the IIOMetadata
object for the
image being written.getMetadata()
public IIOMetadata getMetadata()
IIOMetadata
object.IIOMetadata
object for the image being
written.setMetadata(IIOMetadata)
public abstract int encode(byte[] b, int off, int width, int height, int[] bitsPerSample, int scanlineStride) throws IOException
ImageOutputStream
.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.IOException
- if the supplied data cannot be encoded by
this TIFFCompressor
, or if any I/O error occurs
during writing.Copyright © 2015–2022 SCIFIO. All rights reserved.