public class JPEGImageWriteParam extends ImageWriteParam
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSet
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
Constructor and Description |
---|
JPEGImageWriteParam(Locale locale)
Construct a JPEGImageWriteParam with the following state: tiling
is not supported, progressive mode is supported, initial
progressive mode is MODE_DISABLED, compression is supported, one
compression type named "JPEG" is supported and the default
compression quality is 0.75f.
|
Modifier and Type | Method and Description |
---|---|
boolean |
areTablesSet()
Check if the encoding tables are set.
|
JPEGHuffmanTable[] |
getACHuffmanTables()
Retrieve the AC Huffman tables.
|
String[] |
getCompressionQualityDescriptions()
Retrieve an array of compression quality descriptions.
|
float[] |
getCompressionQualityValues()
Retrieve an array of compression quality values, ordered from
lowest quality to highest quality.
|
JPEGHuffmanTable[] |
getDCHuffmanTables()
Retrieve the DC Huffman tables.
|
boolean |
getOptimizeHuffmanTables()
Check whether or not Huffman tables written to the output stream
will be optimized.
|
JPEGQTable[] |
getQTables()
Retrieve the quantization tables.
|
boolean |
isCompressionLossless()
Check if compression algorithm is lossless.
|
void |
setEncodeTables(JPEGQTable[] qTables,
JPEGHuffmanTable[] DCHuffmanTables,
JPEGHuffmanTable[] ACHuffmanTables)
Set the quantization and Huffman tables that will be used to
encode the stream.
|
void |
setOptimizeHuffmanTables(boolean optimize)
Specify whether or not Huffman tables written to the output
stream should be optimized.
|
void |
unsetCompression()
Reset the compression quality to 0.75f.
|
void |
unsetEncodeTables()
Clear the quantization and Huffman encoding tables.
|
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetTiling
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
public JPEGImageWriteParam(Locale locale)
locale
- the locale used for message localizationpublic void unsetCompression()
unsetCompression
in class ImageWriteParam
public boolean isCompressionLossless()
isCompressionLossless
in class ImageWriteParam
public String[] getCompressionQualityDescriptions()
getCompressionQualityDescriptions
in class ImageWriteParam
public float[] getCompressionQualityValues()
getCompressionQualityValues
in class ImageWriteParam
public boolean areTablesSet()
public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
qTables
- JPEG quantization tablesDCHuffmanTables
- JPEG DC Huffman tablesACHuffmanTables
- JPEG AC Huffman tablesIllegalArgumentException
- if any argument is null, if any
of the arrays are longer than four elements, or if the Huffman
table arrays do not have the same number of elementspublic void unsetEncodeTables()
public JPEGQTable[] getQTables()
public JPEGHuffmanTable[] getDCHuffmanTables()
public JPEGHuffmanTable[] getACHuffmanTables()
public void setOptimizeHuffmanTables(boolean optimize)
optimize
- true to generate optimized Huffman tables, false
otherwisepublic boolean getOptimizeHuffmanTables()