|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.imageio.IIOParam
javax.imageio.ImageWriteParam
javax.imageio.plugins.jpeg.JPEGImageWriteParam
public class JPEGImageWriteParam
The JPEGImageWriteParam class can be used to specify tables and settings used in the JPEG encoding process. Encoding tables are taken from the metadata associated with the output stream, and failing that (if the metadata tables are null) from an instance of JPEGImageWriteParam. The default metadata uses the standard JPEG tables from the JPEGQTable and JPEGHuffmanTable classes. Non-null metadata tables override JPEGImageWriteParam tables. Compression settings range from 1.0, best compression, through 0.75, default compression, to 0.0, worst compression. A JPEGImageWriteParam instance is retrieved from the built-in JPEG ImageWriter using the getDefaultImageWriteParam method.
Field Summary |
---|
Fields inherited from class javax.imageio.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 |
Fields inherited from class javax.imageio.IIOParam |
---|
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset |
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JPEGImageWriteParam(Locale locale)
locale
- the locale used for message localizationMethod Detail |
---|
public 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 tables
IllegalArgumentException
- 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()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |