JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio.plugins.jpeg
クラス JPEGImageReadParam

java.lang.Object
  上位を拡張 javax.imageio.IIOParam
      上位を拡張 javax.imageio.ImageReadParam
          上位を拡張 javax.imageio.plugins.jpeg.JPEGImageReadParam

public class JPEGImageReadParam
extends ImageReadParam

このクラスは、組み込み JPEG リーダプラグインを使用する場合に、JPEG の数量化テーブルおよびハフマンテーブルを設定する機能を追加します。このクラスのインスタンスは、組み込み JPEG ImageReadergetDefaultImageReadParam メソッドから返されます。

これを追加する唯一の目的は、テーブルの指定を、省略されたストリームの復号化で使用できるようにすることです。組み込み JPEG リーダは、省略されていないストリームを復号化できる通常の ImageReadParam も受け入れます。

省略されたストリームのテーブルは通常、テーブルだけを含む別の省略されたストリームを最初に読み込むことにより取得されますが、アプリケーションによってはテーブルが前もって固定されています。このクラスにより、テーブルをクライアントコードから直接指定できるようになります。テーブルがストリームまたは JPEGImageReadParam で指定されていない場合、ストリームは「標準の」視覚的に損失のないテーブルを使用するように想定されています。デフォルトのテーブルの詳細については、JPEGQTable および JPEGHuffmanTable を参照してください。

組み込み JPEG リーダの getDefaultReadParam メソッドから返されるデフォルトの JPEGImageReadParam にはテーブルが格納されていません。デフォルトのテーブルは、テーブルクラス JPEGQTable および JPEGHuffmanTable から取得できます。

ストリームにテーブルが格納されていない場合、JPEGImageReadParam で指定されたテーブルは無視されます。さらに、ストリーム内の最初のイメージにテーブルが格納されておらず、その後のイメージにも格納されていない場合は、最初のイメージで指定されたテーブルがすべての省略されたイメージに対して使用されます。ストリームからテーブルが読み込まれると、そのテーブルをオーバーライドできるのは、そのあとに同じストリームから読み込まれるテーブルだけです。新しいテーブルを指定するには、リーダーの setInput メソッドを呼び出してストリームを変更する必要があります。

このクラスには、ストリームで検出されたテーブルを取得する手段はありません。これらのテーブルは、リーダーから返される IIOMetadata オブジェクトを参照してストリームから抽出することができます。

組み込み JPEG プラグインの操作の詳細については、「JPEG メタデータ形式の仕様と使用法に関する注記」を参照してください。


フィールドの概要
 
クラス javax.imageio.ImageReadParam から継承されたフィールド
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
 
クラス javax.imageio.IIOParam から継承されたフィールド
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
 
コンストラクタの概要
JPEGImageReadParam()
          JPEGImageReadParam を構築します。
 
メソッドの概要
 boolean areTablesSet()
          現在テーブルが設定されている場合は true を返します。
 JPEGHuffmanTable[] getACHuffmanTables()
          setDecodeTables への直前の呼び出しで設定された AC ハフマンテーブルの配列のコピーを返します。
 JPEGHuffmanTable[] getDCHuffmanTables()
          setDecodeTables への直前の呼び出しで設定された DC ハフマンテーブルの配列のコピーを返します。
 JPEGQTable[] getQTables()
          setDecodeTables への直前の呼び出しで設定された数量化テーブルの配列のコピーを返します。
 void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
          省略されたストリームの復号化で使用するために数量化テーブルおよびハフマンテーブルを設定します。
 void unsetDecodeTables()
          現在設定されている数量化テーブルおよびハフマンテーブルを削除します。
 
クラス javax.imageio.ImageReadParam から継承されたメソッド
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setDestinationType, setSourceProgressivePasses, setSourceRenderSize
 
クラス javax.imageio.IIOParam から継承されたメソッド
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsampling
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JPEGImageReadParam

public JPEGImageReadParam()
JPEGImageReadParam を構築します。

メソッドの詳細

areTablesSet

public boolean areTablesSet()
現在テーブルが設定されている場合は true を返します。

戻り値:
テーブルが存在する場合は true

setDecodeTables

public void setDecodeTables(JPEGQTable[] qTables,
                            JPEGHuffmanTable[] DCHuffmanTables,
                            JPEGHuffmanTable[] ACHuffmanTables)
省略されたストリームの復号化で使用するために数量化テーブルおよびハフマンテーブルを設定します。各タイプのテーブルは最大で 4 つです。ストリームでテーブルが検出されると、これらのテーブルは無視されます。すべての引数は null であってはなりません。ハフマンテーブルの 2 つの配列の要素数は同じでなければなりません。ストリームのフレームおよびスキャンヘッダのテーブル指示子は、これらの配列のインデックスと同等であると想定されます。引数配列は、このメソッドによりコピーされます。

パラメータ:
qTables - 数量化テーブルオブジェクトの配列
DCHuffmanTables - ハフマンテーブルオブジェクトの配列
ACHuffmanTables - ハフマンテーブルオブジェクトの配列
例外:
IllegalArgumentException - いずれかの引数が null であるか、4 つより多くの要素を持つ場合、または DC テーブルと AC テーブルの数が異なる場合
関連項目:
unsetDecodeTables()

unsetDecodeTables

public void unsetDecodeTables()
現在設定されている数量化テーブルおよびハフマンテーブルを削除します。

関連項目:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

getQTables

public JPEGQTable[] getQTables()
setDecodeTables への直前の呼び出しで設定された数量化テーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。

戻り値:
JPEGQTable オブジェクトの配列、または null
関連項目:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

getDCHuffmanTables

public JPEGHuffmanTable[] getDCHuffmanTables()
setDecodeTables への直前の呼び出しで設定された DC ハフマンテーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。

戻り値:
JPEGHuffmanTable オブジェクトの配列、または null
関連項目:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

getACHuffmanTables

public JPEGHuffmanTable[] getACHuffmanTables()
setDecodeTables への直前の呼び出しで設定された AC ハフマンテーブルの配列のコピーを返します。現在テーブルが設定されていない場合は null を返します。

戻り値:
JPEGHuffmanTable オブジェクトの配列、または null
関連項目:
setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。