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