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, sourceRenderSizecontroller, 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, setSourceRenderSizeactivateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setSourceBands, setSourceRegion, setSourceSubsamplingpublic 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。