javax.imageio.plugins.jpeg
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.
| MODE_COPY_FROM_METADATA,MODE_DEFAULT,MODE_DISABLED,MODE_EXPLICIT,canOffsetTiles,canWriteCompressed,canWriteProgressive,canWriteTiles,compressionMode,compressionQuality,compressionType,compressionTypes,locale,preferredTileSizes,progressiveMode,tileGridXOffset,tileGridYOffset,tileHeight,tileWidth,tilingMode,tilingSet |  
 
| 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.  
 |  
 
| canOffsetTiles,canWriteCompressed,canWriteProgressive,canWriteTiles,getBitRate,getCompressionMode,getCompressionQuality,getCompressionQualityDescriptions,getCompressionQualityValues,getCompressionType,getCompressionTypes,getLocale,getLocalizedCompressionTypeName,getPreferredTileSizes,getProgressiveMode,getTileGridXOffset,getTileGridYOffset,getTileHeight,getTileWidth,getTilingMode,isCompressionLossless,setCompressionMode,setCompressionQuality,setCompressionType,setProgressiveMode,setTiling,setTilingMode,unsetCompression,unsetTiling |  
 
| activateController,getController,getDefaultController,getDestinationOffset,getDestinationType,getSourceBands,getSourceRegion,getSourceXSubsampling,getSourceYSubsampling,getSubsamplingXOffset,getSubsamplingYOffset,hasController,setController,setDestinationOffset,setDestinationType,setSourceBands,setSourceRegion,setSourceSubsampling |  
 
| clone,equals,extends Object> getClass,finalize,hashCode,notify,notifyAll,toString,wait,wait,wait |  
 
JPEGImageWriteParam
public 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.  Compression type names and
 compression quality descriptions are localized to the given
 locale.
- locale- the locale used for message localization
areTablesSet
public boolean areTablesSet()
 Check if the encoding tables are set.
- true if the encoding tables are set, false otherwise
getCompressionQualityDescriptions
public String[] getCompressionQualityDescriptions()
 Retrieve an array of compression quality descriptions.  These
 messages are localized using the locale provided upon
 construction.  Each compression quality description in the
 returned array corresponds to the compression quality value at
 the same index in the array returned by
 getCompressionQualityValues.
- getCompressionQualityDescriptions in interface ImageWriteParam
- an array of strings each of which describes a compression
quality value
getOptimizeHuffmanTables
public boolean getOptimizeHuffmanTables()
 Check whether or not Huffman tables written to the output stream
 will be optimized.  Unless otherwise set using
 setOptimizeHuffmanTables, this returns false.
- true Huffman tables written to the output stream will be
optimized, false otherwise
setEncodeTables
public void setEncodeTables(JPEGQTable[] qTables,
                            JPEGHuffmanTable[] DCHuffmanTables,
                            JPEGHuffmanTable[] ACHuffmanTables) Set the quantization and Huffman tables that will be used to
 encode 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.
- qTables- JPEG quantization tables
- DCHuffmanTables- JPEG DC Huffman tables
- ACHuffmanTables- 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 elements
setOptimizeHuffmanTables
public void setOptimizeHuffmanTables(boolean optimize)
 Specify whether or not Huffman tables written to the output
 stream should be optimized.  Every image encoded with this flag
 set will contain a Huffman table, and the generated Huffman
 tables will override those specified in the metadata.
- optimize- true to generate optimized Huffman tables, false
otherwise
unsetEncodeTables
public void unsetEncodeTables()
 Clear the quantization and Huffman encoding tables.
JPEGImageWriteParam.java --
 Copyright (C)  2006  Free Software Foundation, Inc.
 This file is part of GNU Classpath.
 GNU Classpath is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.
 GNU Classpath is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with GNU Classpath; see the file COPYING.  If not, write to the
 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 02110-1301 USA.
 Linking this library statically or dynamically with other modules is
 making a combined work based on this library.  Thus, the terms and
 conditions of the GNU General Public License cover the whole
 combination.
 As a special exception, the copyright holders of this library give you
 permission to link this library with independent modules to produce an
 executable, regardless of the license terms of these independent
 modules, and to copy and distribute the resulting executable under
 terms of your choice, provided that you also meet, for each linked
 independent module, the terms and conditions of the license of that
 module.  An independent module is a module which is not derived from
 or based on this library.  If you modify this library, you may extend
 this exception to your version of the library, but you are not
 obligated to do so.  If you do not wish to do so, delete this
 exception statement from your version.