Fields Summary |
---|
private static final float[] | COMP_QUALITY_VALUESThe Constant COMP_QUALITY_VALUES. |
private static final String[] | COMP_QUALITY_DESCRIPTIONSThe Constant COMP_QUALITY_DESCRIPTIONS. |
private JPEGQTable[] | qTablesThe q tables. |
private JPEGHuffmanTable[] | dcHuffmanTablesThe dc huffman tables. |
private JPEGHuffmanTable[] | acHuffmanTablesThe ac huffman tables. |
private boolean | optimizeHuffmanTablesThe optimize huffman tables. |
Methods Summary |
---|
public boolean | areTablesSet()Returns true if tables are set, false otherwise.
return qTables != null;
|
public javax.imageio.plugins.jpeg.JPEGHuffmanTable[] | getACHuffmanTables()Gets the AC Huffman tables.
return acHuffmanTables == null ? null : acHuffmanTables.clone();
|
public java.lang.String[] | getCompressionQualityDescriptions()
super.getCompressionQualityDescriptions();
return COMP_QUALITY_DESCRIPTIONS.clone();
|
public float[] | getCompressionQualityValues()
super.getCompressionQualityValues();
return COMP_QUALITY_VALUES.clone();
|
public javax.imageio.plugins.jpeg.JPEGHuffmanTable[] | getDCHuffmanTables()Gets the DC Huffman tables.
return dcHuffmanTables == null ? null : dcHuffmanTables.clone();
|
public boolean | getOptimizeHuffmanTables()Returns true if the writer generates optimized Huffman tables, false
otherwise.
return optimizeHuffmanTables;
|
public javax.imageio.plugins.jpeg.JPEGQTable[] | getQTables()Gets the quantization tables.
return qTables == null ? null : qTables.clone();
|
public boolean | isCompressionLossless()
if (getCompressionMode() != MODE_EXPLICIT) {
throw new IllegalStateException("Compression mode not MODE_EXPLICIT!");
}
return false;
|
public void | setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[] qTables, javax.imageio.plugins.jpeg.JPEGHuffmanTable[] DCHuffmanTables, javax.imageio.plugins.jpeg.JPEGHuffmanTable[] ACHuffmanTables)Sets the quantization and Huffman tables for using in encoding streams.
if (qTables == null || DCHuffmanTables == null || ACHuffmanTables == null) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
if (DCHuffmanTables.length != ACHuffmanTables.length) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
if (qTables.length > 4 || DCHuffmanTables.length > 4) {
throw new IllegalArgumentException("Invalid JPEG table arrays");
}
// Do the shallow copy, it should be enough
this.qTables = qTables.clone();
dcHuffmanTables = DCHuffmanTables.clone();
acHuffmanTables = ACHuffmanTables.clone();
|
public void | setOptimizeHuffmanTables(boolean optimize)Sets the flag indicated that the writer will generate optimized Huffman
tables for the image as part of the writing process.
optimizeHuffmanTables = optimize;
|
public void | unsetCompression()
if (getCompressionMode() != MODE_EXPLICIT) {
throw new IllegalStateException("Compression mode not MODE_EXPLICIT!");
}
compressionQuality = JPEGConsts.DEFAULT_JPEG_COMPRESSION_QUALITY;
|
public void | unsetEncodeTables()Unset all encoded tables.
qTables = null;
dcHuffmanTables = null;
acHuffmanTables = null;
|