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 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 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.