public class JPEGImageReadParam extends ImageReadParam
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 -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 JPEGImageReadParam()JPEGImageReadParamを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 booleanareTablesSet()現在表が設定されている場合はtrueを返します。JPEGHuffmanTable[]getACHuffmanTables()setDecodeTablesへの直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。JPEGHuffmanTable[]getDCHuffmanTables()setDecodeTablesへの直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。JPEGQTable[]getQTables()setDecodeTablesへの直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。voidsetDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)省略されたストリームのデコードで使用するために数量化表およびハフマン表を設定します。voidunsetDecodeTables()現在設定されている数量化表およびハフマン表を削除します。クラス 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()
-
unsetDecodeTables
public void unsetDecodeTables()現在設定されている数量化表およびハフマン表を削除します。 -
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[])
-