public class JPEGImageReadParam extends ImageReadParam
ImageReader
のgetDefaultImageReadParam
メソッドから返されます。
これを追加する唯一の目的は、表の指定を、省略されたストリームのデコードで使用できるようにすることです。組み込みJPEGリーダーは、省略されていないストリームをデコードできる通常のImageReadParam
も受け入れます。
省略されたストリームの表は通常、表だけを含む別の省略されたストリームを最初に読み込むことにより取得されますが、アプリケーションによっては表が前もって固定されています。このクラスにより、表をクライアント・コードから直接指定できるようになります。表がストリームまたはJPEGImageReadParam
で指定されていない場合、ストリームは「標準の」視覚的に損失のない表を使用するように想定されています。デフォルト表の詳細は、JPEGQTable
およびJPEGHuffmanTable
を参照してください。
組み込みJPEGリーダーのgetDefaultReadParam
メソッドから返されるデフォルトのJPEGImageReadParam
には表が格納されていません。デフォルトの表は、表クラスJPEGQTable
およびJPEGHuffmanTable
から取得できます。
ストリームに表が格納されている場合、JPEGImageReadParam
で指定された表は無視されます。さらに、ストリーム内の最初のイメージに表が格納されていて、その後のイメージには格納されていない場合は、最初のイメージで指定された表がすべての省略されたイメージに対して使用されます。ストリームから表が読み込まれると、その表をオーバーライドできるのは、そのあとに同じストリームから読み込まれる表だけです。新しい表を指定するには、リーダーのsetInput
メソッドを呼び出してストリームを変更する必要があります。
このクラスには、ストリームで検出された表を取得する手段はありません。これらのテーブルは、リーダーから返されるIIOMetadataオブジェクトを参照してストリームから抽出することができます。
組み込みJPEGプラグインの操作の詳細については、「JPEGメタデータ形式の仕様と使用法に関する注記」を参照してください。
canSetSourceRenderSize, destination, destinationBands, minProgressivePass, numProgressivePasses, sourceRenderSize
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()
現在設定されている数量化表およびハフマン表を削除します。
|
canSetSourceRenderSize, getDestination, getDestinationBands, getSourceMaxProgressivePass, getSourceMinProgressivePass, getSourceNumProgressivePasses, getSourceRenderSize, setDestination, setDestinationBands, setDestinationType, setSourceProgressivePasses, setSourceRenderSize
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsampling
public boolean areTablesSet()
true
を返します。true
。public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null
以外である必要があります。ハフマン表の2つの配列の要素数は同じである必要があります。ストリームのフレームおよびスキャン・ヘッダーの表指示子は、これらの配列のインデックスと同等であると想定されます。引数配列は、このメソッドによりコピーされます。qTables
- 数量化表オブジェクトの配列。DCHuffmanTables
- ハフマン表オブジェクトの配列。ACHuffmanTables
- ハフマン表オブジェクトの配列。IllegalArgumentException
- いずれかの引数がnull
であるか、4つより多くの要素を持つ場合、またはDC表とAC表の数が異なる場合。unsetDecodeTables()
public void unsetDecodeTables()
public JPEGQTable[] getQTables()
setDecodeTables
への直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnull
を返します。JPEGQTable
オブジェクトの配列、またはnull
。setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public JPEGHuffmanTable[] getDCHuffmanTables()
setDecodeTables
への直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnull
を返します。JPEGHuffmanTable
オブジェクトの配列、またはnull
。setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public JPEGHuffmanTable[] getACHuffmanTables()
setDecodeTables
への直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnull
を返します。JPEGHuffmanTable
オブジェクトの配列、またはnull
。setDecodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.