javax.imageio.plugins.jpeg

Class JPEGImageReadParam

public class JPEGImageReadParam extends ImageReadParam

The JPEGImageReadParam class is only used to set JPEG decoding tables for streams that do not provide their own tables. If a stream does not provide tables and a custom JPEGImageReadParam is not provided, then the standard JPEG tables are used from the JPEGQTable and JPEGHuffmanTable classes. If a stream does provide decoding tables then JPEGImageReadParam will be ignored. JPEGImageReadParam cannot be used to retrieve the tables from a stream. Instead, use IIOMetadata for this purpose. A JPEGImageReadParam instance is retrieved from the built-in JPEG ImageReader using the getDefaultImageReadParam method.
Constructor Summary
JPEGImageReadParam()
Construct a JPEGImageReadParam.
Method Summary
booleanareTablesSet()
Check if the decoding tables are set.
JPEGHuffmanTable[]getACHuffmanTables()
Retrieve the AC Huffman tables.
JPEGHuffmanTable[]getDCHuffmanTables()
Retrieve the DC Huffman tables.
JPEGQTable[]getQTables()
Retrieve the quantization tables.
voidsetDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Set the quantization and Huffman tables that will be used to decode the stream.
voidunsetDecodeTables()
Clear the quantization and Huffman decoding tables.

Constructor Detail

JPEGImageReadParam

public JPEGImageReadParam()
Construct a JPEGImageReadParam.

Method Detail

areTablesSet

public boolean areTablesSet()
Check if the decoding tables are set.

Returns: true if the decoding tables are set, false otherwise

getACHuffmanTables

public JPEGHuffmanTable[] getACHuffmanTables()
Retrieve the AC Huffman tables.

Returns: an array of JPEG AC Huffman tables

getDCHuffmanTables

public JPEGHuffmanTable[] getDCHuffmanTables()
Retrieve the DC Huffman tables.

Returns: an array of JPEG DC Huffman tables

getQTables

public JPEGQTable[] getQTables()
Retrieve the quantization tables.

UNKNOWN: an array of JPEG quantization tables

setDecodeTables

public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Set the quantization and Huffman tables that will be used to decode the stream. Copies are created of the array arguments. The number of Huffman tables must be the same in both Huffman table arrays. No argument may be null and no array may be longer than four elements.

Parameters: qTables JPEG quantization tables DCHuffmanTables JPEG DC Huffman tables ACHuffmanTables JPEG AC Huffman tables

Throws: 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 elements

unsetDecodeTables

public void unsetDecodeTables()
Clear the quantization and Huffman decoding tables.