| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.imageio.IIOParam
javax.imageio.ImageWriteParam
javax.imageio.plugins.jpeg.JPEGImageWriteParam
public class JPEGImageWriteParam
このクラスは、組み込み JPEG ライタープラグインを使用する場合に JPEG の数量化テーブルおよび ハフマンテーブルを設定する機能と、イメージ用に最適化されたハフマンテーブルを計算するよう要求する機能を追加します。このクラスのインスタンスは、組み込み JPEG ImageWriter の getDefaultImageWriteParam メソッドから返されます。
 
 これらを追加する主な目的は、テーブルの指定を、省略されたストリームの符号化で使用できるようにすることです。組み込み JPEG ライターは、通常の ImageWriteParam も受け入れます。この場合、ライターは必要なテーブルを内部的に構築します。
 
 どちらの場合も、ImageWriteParam の品質の設定には、基本となるライブラリの場合と同じ意味があります。1.00 はすべての 1 の数量化テーブルを、0.75 は「標準の」視覚的に損失のない数量化テーブルを、0.00 はすべての 255 の数量化テーブルを意味します。
 
省略されたストリームのテーブルは通常、テーブルだけを含む省略されたストリームを最初に書き込むことにより指定されますが、アプリケーションによってはテーブルが前もって固定されています。このクラスにより、テーブルをクライアントコードから直接指定できるようになります。
 通常、テーブルはライターに渡された IIOMetadata オブジェクトで指定され、これらのオブジェクトに含まれるテーブルはすべてストリームに書き込まれます。メタデータにテーブルが指定されていない場合は、省略されたストリームが書き込まれます。メタデータにテーブルが含まれておらず、JPEGImageWriteParam でテーブルが指定されない場合、省略されたストリームは「標準の」視覚的に損失のないテーブルを使用して符号化されます。最初にテーブルをストリームに書き込まないで、省略されたストリームを書き込む必要がある場合は、テーブルの指定にこのクラスが必要です。このクラスを使用するためには、ライターに渡されたメタデータオブジェクトにテーブルを格納しても、ストリームメタデータを提供してもいけません。デフォルトのテーブルの詳細については、JPEGQTableJPEGHuffmanTable
 ライターの getDefaultWriteParam メソッドから返されるデフォルトの JPEGImageWriteParam にはテーブルは格納されていません。デフォルトのテーブルは、ライターから返されるデフォルトの IIOMetadata オブジェクトに含まれています。
 
 メタデータにテーブルが格納されている場合、JPEGImageWriteParam で指定されるテーブルは無視されます。さらに、テーブルのセットが書き込まれると、同じストリームまたは別のストリームへのその後の書き込みに対してそれらのテーブルをオーバーライドできるのは、メタデータ内のテーブルだけです。このクラスを使用して新しいテーブルを指定するためには、ライターの reset
組み込み JPEG プラグインの操作の詳細については、「JPEG メタデータ形式の仕様と使用法に関する注記」を参照してください。
| フィールドの概要 | 
|---|
| クラス javax.imageio.IIOParam から継承されたフィールド | 
|---|
| controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset | 
| コンストラクタの概要 | |
|---|---|
| JPEGImageWriteParam(Locale locale)JPEGImageWriteParamを構築します。 | |
| メソッドの概要 | |
|---|---|
|  boolean | areTablesSet()現在テーブルが設定されている場合は trueを返します。 | 
|  JPEGHuffmanTable[] | getACHuffmanTables()setEncodeTablesへの直前の呼び出しで設定された AC ハフマンテーブルの配列のコピーを返します。 | 
|  String[] | getCompressionQualityDescriptions()圧縮品質レベルの表示または設定のために、ユーザーインタフェースの一部として getCompressionQualityValuesとともに使用できるStringの配列を返します。 | 
|  float[] | getCompressionQualityValues()圧縮品質レベルの表示または設定のためのユーザーインタフェースの一部として、 getCompressionQualityDescriptionsとともに使用できるfloatの配列を返します。 | 
|  JPEGHuffmanTable[] | getDCHuffmanTables()setEncodeTablesへの直前の呼び出しで設定された DC ハフマンテーブルの配列のコピーを返します。 | 
|  boolean | getOptimizeHuffmanTables()setOptimizeHuffmanTablesの直前の呼び出しに渡された値を返します。 | 
|  JPEGQTable[] | getQTables()setEncodeTablesへの直前の呼び出しで設定された数量化テーブルの配列のコピーを返します。 | 
|  boolean | isCompressionLossless()JPEG プラグインは損失の発生する圧縮だけをサポートするので、 falseを返します。 | 
|  void | setEncodeTables(JPEGQTable[] qTables,
                JPEGHuffmanTable[] DCHuffmanTables,
                JPEGHuffmanTable[] ACHuffmanTables)省略されたストリームの符号化で使用するために数量化テーブルおよびハフマンテーブルを設定します。 | 
|  void | setOptimizeHuffmanTables(boolean optimize)書き込み処理の一部として最適化されたイメージ用ハフマンテーブルを生成するようにライターに通知します。 | 
|  void | unsetCompression()以前のすべての圧縮品質設定を削除します。 | 
|  void | unsetEncodeTables()現在設定されている数量化テーブルおよびハフマンテーブルを削除します。 | 
| クラス java.lang.Object から継承されたメソッド | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| コンストラクタの詳細 | 
|---|
public JPEGImageWriteParam(Locale locale)
JPEGImageWriteParam を構築します。タイリングはサポートされません。プログレッシブエンコーディングはサポートされます。デフォルトのプログレッシブモードは MODE_DISABLED です。JPEG と呼ばれる 1 つの圧縮形式がサポートされます。デフォルトの圧縮品質は 0.75 です。
locale - 圧縮方式名と品質説明をローカライズするために スーパークラスが使用する Locale、 または null| メソッドの詳細 | 
|---|
public void unsetCompression()
 デフォルトの実装は、圧縮品質を 0.75F にリセットします。
ImageWriteParam 内の unsetCompressionIllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合ImageWriteParam.setCompressionType(java.lang.String), 
ImageWriteParam.setCompressionQuality(float)public boolean isCompressionLossless()
false を返します。
ImageWriteParam 内の isCompressionLosslessfalse
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合public String[] getCompressionQualityDescriptions()
ImageWriteParam の記述:getCompressionQualityValues とともに使用できる String の配列を返します。インデックス i を持つ String は、getCompressionQualityValues[i] から getCompressionQualityValues[i + 1] までの品質レベル範囲の概要を提供します。getCompressionQualityValues から返された配列の長さは、getCompressionQualityDescriptions から返された配列の長さより、常に長くなります。
  例として、文字列「Good」、「Better」、「Best」は、範囲 [0, .33)、[.33, .66)、[.66, 1.0] に関連付けることができます。この場合、getCompressionQualityDescriptions は { "Good", "Better", "Best" } を返し、getCompressionQualityValues は { 0.0F, .33F, .66F, 1.0F } を返します。
 
 概要が使用できない場合、null が返されます。getCompressionQualityValues から null が返される場合、このメソッドは null も返す必要があります。
 
 概要は、null でない場合、getLocale が返した Locale に対してローカライズする必要があります。
 
 複数の圧縮方式があり、そのどれもが設定されていない場合、IllegalStateException がスローされます。
 
 デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、getCompressionTypes() が null のとき、あるいは getCompressionType() が null でないときに null を返します。
ImageWriteParam 内の getCompressionQualityDescriptionsString の配列ImageWriteParam.getCompressionQualityValues()public float[] getCompressionQualityValues()
ImageWriteParam の記述:getCompressionQualityDescriptions とともに使用できる float の配列を返します。詳細は、getCompressionQualityDescriptions 概要が使用できない場合、null が返されます。getCompressionQualityDescriptions から null が返される場合、このメソッドは null も返す必要があります。
 
 複数の圧縮方式があり、そのどれもが設定されていない場合、IllegalStateException がスローされます。
 
 デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、getCompressionTypes() が null のとき、あるいは getCompressionType() が null でないときに null を返します。
ImageWriteParam 内の getCompressionQualityValuesgetCompressionQualityDescriptions からの String で記述される、 圧縮品質レベル間の範囲を示す float の配列ImageWriteParam.getCompressionQualityDescriptions()public boolean areTablesSet()
true を返します。
true
public void setEncodeTables(JPEGQTable[] qTables,
                            JPEGHuffmanTable[] DCHuffmanTables,
                            JPEGHuffmanTable[] ACHuffmanTables)
null 以外である必要があります。ハフマンテーブルの 2 つの配列の要素数は同じである必要があります。メタデータのフレームおよびスキャンヘッダーのテーブル指示子は、これらの配列のインデックスと同等であると想定されます。引数配列は、このメソッドによりコピーされます。
qTables - 数量化テーブルオブジェクトの配列DCHuffmanTables - ハフマンテーブルオブジェクトの配列ACHuffmanTables - ハフマンテーブルオブジェクトの配列
IllegalArgumentException - いずれかの引数が null であるか、 4 つより多くの要素を持つ場合、 または DC テーブルと AC テーブルの数が異なる場合unsetEncodeTables()public void unsetEncodeTables()
setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])public JPEGQTable[] getQTables()
setEncodeTables への直前の呼び出しで設定された数量化テーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。
JPEGQTable オブジェクトの配列、 または nullsetEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])public JPEGHuffmanTable[] getDCHuffmanTables()
setEncodeTables への直前の呼び出しで設定された DC ハフマンテーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。
JPEGHuffmanTable オブジェクトの配列、 または nullsetEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])public JPEGHuffmanTable[] getACHuffmanTables()
setEncodeTables への直前の呼び出しで設定された AC ハフマンテーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。
JPEGHuffmanTable オブジェクトの配列、 または nullsetEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])public void setOptimizeHuffmanTables(boolean optimize)
false です。このフラグが true に設定されている場合は、メタデータで指定されたすべてのテーブルをオーバーライドします。これは、このフラグを true に設定して書き込まれたイメージには常にハフマンテーブルが含まれるということです。
- 
- パラメータ:
- optimize- 書き込み時に最適化されたハフマンテーブルを 生成するかどうかを示す boolean 値
- 関連項目:
- getOptimizeHuffmanTables()
 
public boolean getOptimizeHuffmanTables()
setOptimizeHuffmanTables の直前の呼び出しに渡された値を返します。setOptimizeHuffmanTables が呼び出されなかった場合は false を返します。
truesetOptimizeHuffmanTables(boolean)| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。