クラスJPEGImageReadParam
ImageReaderのgetDefaultImageReadParamメソッドから返されます。
これを追加する唯一の目的は、表の指定を、省略されたストリームのデコードで使用できるようにすることです。 組み込み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 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean現在表が設定されている場合はtrueを返します。setDecodeTablesへの直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。setDecodeTablesへの直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。setDecodeTablesへの直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。voidsetDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 省略されたストリームのデコードで使用するために数量化表およびハフマン表を設定します。void現在設定されている数量化表およびハフマン表を削除します。クラスjavax.imageio.ImageReadParamで宣言されたメソッド
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setSourceProgressivePasses, setSourceRenderSizeクラスjavax.imageio.IIOParamで宣言されたメソッド
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
-
コンストラクタの詳細
-
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
public void unsetDecodeTables()現在設定されている数量化表およびハフマン表を削除します。- 関連項目:
-
getQTables
public JPEGQTable[] getQTables()setDecodeTablesへの直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGQTableオブジェクトの配列、またはnull。- 関連項目:
-
getDCHuffmanTables
public JPEGHuffmanTable[] getDCHuffmanTables()setDecodeTablesへの直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGHuffmanTableオブジェクトの配列、またはnull。- 関連項目:
-
getACHuffmanTables
public JPEGHuffmanTable[] getACHuffmanTables()setDecodeTablesへの直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGHuffmanTableオブジェクトの配列、またはnull。- 関連項目:
-