Class TIFFBaseJPEGCompressor
- java.lang.Object
-
- com.sun.media.imageio.plugins.tiff.TIFFCompressor
-
- com.sun.media.imageioimpl.plugins.tiff.TIFFBaseJPEGCompressor
-
- Direct Known Subclasses:
TIFFEXIFJPEGCompressor
,TIFFJPEGCompressor
public abstract class TIFFBaseJPEGCompressor extends TIFFCompressor
Base class for all possible forms of JPEG compression in TIFF.
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
IMAGE_METADATA_NAME
protected JPEGImageWriteParam
JPEGParam
ImageWriteParam for JPEG writer.protected IIOMetadata
JPEGStreamMetadata
Stream metadata equivalent to a tables-only stream such as in theJPEGTables
.protected ImageWriter
JPEGWriter
The JPEG writer.protected static String
STREAM_METADATA_NAME
protected boolean
writeAbbreviatedStream
Whether to write abbreviated JPEG streams (default == false).-
Fields inherited from class com.sun.media.imageio.plugins.tiff.TIFFCompressor
compressionTagValue, compressionType, isCompressionLossless, metadata, stream, writer
-
-
Constructor Summary
Constructors Constructor Description TIFFBaseJPEGCompressor(String compressionType, int compressionTagValue, boolean isCompressionLossless, ImageWriteParam param)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
encode(byte[] b, int off, int width, int height, int[] bitsPerSample, int scanlineStride)
Encodes the supplied image data, writing to the currently setImageOutputStream
.protected void
finalize()
protected void
initJPEGWriter(boolean supportsStreamMetadata, boolean supportsImageMetadata)
Initializes the JPEGWriter and JPEGParam instance variables.-
Methods inherited from class com.sun.media.imageio.plugins.tiff.TIFFCompressor
getCompressionTagValue, getCompressionType, getMetadata, getStream, getWriter, isCompressionLossless, setMetadata, setStream, setWriter
-
-
-
-
Field Detail
-
STREAM_METADATA_NAME
protected static final String STREAM_METADATA_NAME
- See Also:
- Constant Field Values
-
IMAGE_METADATA_NAME
protected static final String IMAGE_METADATA_NAME
- See Also:
- Constant Field Values
-
JPEGParam
protected JPEGImageWriteParam JPEGParam
ImageWriteParam for JPEG writer. May be initialized byinitJPEGWriter(boolean, boolean)
.
-
JPEGWriter
protected ImageWriter JPEGWriter
The JPEG writer. May be initialized byinitJPEGWriter(boolean, boolean)
.
-
writeAbbreviatedStream
protected boolean writeAbbreviatedStream
Whether to write abbreviated JPEG streams (default == false). A subclass which sets this totrue
should also initializedJPEGStreamMetadata
.
-
JPEGStreamMetadata
protected IIOMetadata JPEGStreamMetadata
Stream metadata equivalent to a tables-only stream such as in theJPEGTables
. Default value isnull
. This should be set by any subclass which setswriteAbbreviatedStream
totrue
.
-
-
Constructor Detail
-
TIFFBaseJPEGCompressor
public TIFFBaseJPEGCompressor(String compressionType, int compressionTagValue, boolean isCompressionLossless, ImageWriteParam param)
-
-
Method Detail
-
initJPEGWriter
protected void initJPEGWriter(boolean supportsStreamMetadata, boolean supportsImageMetadata)
Initializes the JPEGWriter and JPEGParam instance variables. This method must be called before encode() is invoked.- Parameters:
supportsStreamMetadata
- Whether the JPEG writer must support JPEG native stream metadata, i.e., be capable of writing abbreviated streams.supportsImageMetadata
- Whether the JPEG writer must support JPEG native image metadata.
-
encode
public final int encode(byte[] b, int off, int width, int height, int[] bitsPerSample, int scanlineStride) throws IOException
Description copied from class:TIFFCompressor
Encodes the supplied image data, writing to the currently setImageOutputStream
.- Specified by:
encode
in classTIFFCompressor
- Parameters:
b
- an array ofbyte
s containing the packed but uncompressed image data.off
- the starting offset of the data to be written in the arrayb
.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 ofint
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 thisTIFFCompressor
, or if any I/O error occurs during writing.
-
-