クラスJPEGImageWriteParam
ImageWriterのgetDefaultImageWriteParamメソッドから返されます。
これらを追加する主な目的は、表の指定を、省略されたストリームのエンコーディングで使用できるようにすることです。 組み込みJPEGライターは、通常のImageWriteParamも受け入れます。この場合、ライターは必要な表を内部的に構築します。
どちらの場合も、ImageWriteParamの品質の設定には、基本となるライブラリの場合と同じ意味があります。1.00はすべての1の数量化表を、0.75は「標準の」視覚的に損失のない数量化表を、0.00はすべての255の数量化表を意味します。
省略されたストリームの表は通常、表だけを含む省略されたストリームを最初に書き込むことにより指定されますが、アプリケーションによっては表が前もって固定されています。 このクラスにより、表をクライアント・コードから直接指定できるようになります。
通常、表はライターに渡されたIIOMetadataオブジェクトで指定され、これらのオブジェクトに含まれる表はすべてストリームに書き込まれます。 メタデータに表が指定されていない場合は、省略されたストリームが書き込まれます。 メタデータに表が含まれておらず、JPEGImageWriteParamで表が指定されない場合、省略されたストリームは「標準の」視覚的に損失のない表を使用してエンコードされます。 最初に表をストリームに書き込まないで、省略されたストリームを書き込む必要がある場合は、表の指定にこのクラスが必要です。 このクラスを使用するためには、ライターに渡されたメタデータ・オブジェクトに表を格納しても、ストリーム・メタデータを提供してもいけません。 デフォルト表の詳細は、JPEGQTableおよびJPEGHuffmanTableを参照してください。
ライターのgetDefaultWriteParamメソッドから返されるデフォルトのJPEGImageWriteParamには表は格納されていません。 デフォルトの表は、ライターから返されるデフォルトのIIOMetadataオブジェクトに含まれています。
メタデータに表が格納されている場合、JPEGImageWriteParamで指定される表は無視されます。 さらに、表のセットが書き込まれると、同じストリームまたは別のストリームへのその後の書込みに対してそれらの表をオーバーライドできるのは、メタデータ内の表だけです。 このクラスを使用して新しい表を指定するためには、ライターのresetメソッドを呼び出す必要があります。
組み込みJPEGプラグインの操作の詳細については、「JPEGメタデータ形式の仕様と使用法に関するノート」を参照してください。
-
フィールドのサマリー
クラスで宣言されたフィールド ImageWriteParam
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSet修飾子と型フィールド説明protected booleanこのImageWriteParamでタイリング・グリッド座標パラメータを設定できる場合に、trueとなるbooleanです。protected booleanこの書込み側が、圧縮を使用してイメージを書込みできる場合に、trueとなるbooleanです。protected booleanこのImageWriteParamで、品質パスを増加させる段階的な処理として、イメージの書込みができる場合に、trueとなるbooleanです。protected booleanこのImageWriteParamでタイルの幅と高さのパラメータを設定できる場合に、trueとなるbooleanです。protected int圧縮設定を制御するモードで、4つのMODE_*値の1つに設定する必要があります。protected float現在の圧縮品質設定を含むfloatです。protected String現在の圧縮方式名を含むStringで、設定されていない場合nullです。protected String[]使用可能な圧縮方式名を含むStringの配列です。protected Locale圧縮方式名と品質の説明をローカライズするために使用されるLocale、あるいはデフォルトのLocaleを使用するためのnullです。static final int今後の書込み機能を使用可能にするために、setTilingMode、setProgressiveMode、またはsetCompressionModeのようなメソッドに渡すことのできる定数値です。static final int今後の書込み機能を使用可能にするために、setTilingMode、setProgressiveMode、setCompressionModeのようなメソッドに渡すことのできる定数値です。static final int今後の書込み機能を使用不可にするために、setTilingMode、setProgressiveMode、setCompressionModeのようなメソッドに渡すことのできる定数値です。static final int今後の書込み機能を使用可能にするために、setTilingModeまたはsetCompressionModeのようなメソッドに渡すことができる定数値です。protected Dimension[]適切なタイル・サイズの範囲ペアの配列です。protected intプログレッシブ・エンコーディングを制御するモードで、MODE_EXPLICIT以外の4つのMODE_*値の1つを設定する必要があります。protected intタイリングが設定されている場合、イメージの起点からタイル・グリッドの原点までの水平座標での距離で、設定されていない場合は0です。protected intタイリングが設定されている場合、イメージの起点からタイル・グリッドの原点までの垂直座標での距離で、設定されていない場合は0です。protected intタイリングが設定されている場合は各タイルの高さになり、設定されていない場合は0になります。protected intタイリングが設定されている場合は各タイルの幅になり、設定されていない場合は0になります。protected intタイリング設定を制御するモードで、4つのMODE_*値の1つに設定する必要があります。protected booleanタイリング・パラメータが指定されている場合に、trueとなるbooleanです。クラスで宣言されたフィールド IIOParam
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset修飾子と型フィールド説明protected IIOParamControlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerです。protected IIOParamControlleractivateControllerメソッドが呼び出されたときに、このIIOParamオブジェクトの設定を指定するために使用するデフォルトのIIOParamControllerです。protected Point左上隅のデコードされたピクセルが配置されるデスティネーションのオフセットです。protected ImageTypeSpecifier読込み時にデスティネーションのイメージを生成する、または書込み時に出力のカラー・タイプを設定するために使用するImageTypeSpecifierです。protected int[]使用するソース・バンドを示すint配列、またはnullです。protected Rectangleソース領域、または何も設定されない場合はnullとなります。protected int水平方向に適用される間引きサブサンプリングです。protected int垂直方向に適用される間引きサブサンプリングです。protected intサブサンプリングする前にサブサンプリング・グリッドに適用される水平方向のオフセットです。protected intサブサンプリングする前にサブサンプリング・グリッドに適用される垂直方向のオフセットです。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean現在表が設定されている場合はtrueを返します。setEncodeTablesへの直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。setEncodeTablesへの直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。booleansetOptimizeHuffmanTablesの直前の呼出しに渡された値を返します。setOptimizeHuffmanTablesが呼び出されなかった場合は、falseを返します。setEncodeTablesへの直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。booleanJPEGプラグインは損失の発生する圧縮だけをサポートするので、falseを返します。voidsetEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 省略されたストリームのエンコードで使用するために数量化表およびハフマン表を設定します。voidsetOptimizeHuffmanTables(boolean optimize) 書込み処理の一部として最適化されたイメージ用ハフマン表を生成するようにライターに通知します。void以前のすべての圧縮品質設定を削除します。void現在設定されている数量化表およびハフマン表を削除します。クラスで宣言されたメソッド ImageWriteParam
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionQualityDescriptions, getCompressionQualityValues, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetTiling修飾子と型メソッド説明boolean書込み側が書込み中に0以外のグリッド座標でタイリングを実行できる場合に、trueを返します。booleanこの書込み側が圧縮をサポートする場合、trueを返します。boolean品質を段階的に向上させる一連のパスとして、書込み側が出力イメージを書き出すことができる場合にtrueを返します。boolean書込み側が書込み中にタイリングを実行できる場合、trueを返します。floatgetBitRate(float quality) 入力イメージ・データの各ビットに対して、指定された品質レベルで出力データのビット数の見積もりを示すfloatを返します。int圧縮がサポートされる場合、現在の圧縮モードを返します。float現在の圧縮品質設定を返します。String[]圧縮品質レベルの表示または設定のためのユーザー・インタフェースの一部として、getCompressionQualityValuesとともに使用できるStringの配列を返します。float[]圧縮品質レベルの表示または設定のためのユーザー・インタフェースの一部として、getCompressionQualityDescriptionsとともに使用できるfloatの配列を返します。現在設定された圧縮方式を返すか、何も設定されていない場合はnullを返します。String[]使用可能な圧縮方式のリストを配列またはStringとして返し、これらのインタフェースを使用して圧縮方式を選択できない場合にnullを返します。現在設定されているLocaleを返す、あるいはデフォルトLocaleだけがサポートされている場合nullになります。getLocaleが返したLocaleを使用して、現在の圧縮方式のローカライズされた名前を返します。タイルが出力ファイルまたはストリームでエンコードされるとき、タイルの正規のサイズ範囲を示すDimensionの配列を返します。intプログレッシブ方式でストリームを書き込むための、現在のモードを返します。intイメージが出力ストリームに書き込まれるとき、イメージの水平タイル・グリッド座標を返します。intイメージが出力ストリームに書き込まれるとき、イメージの垂直タイル・グリッド座標を返します。intイメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの高さを返します。intイメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの幅を返します。intタイリングがサポートされている場合、現在のタイリング・モードを返します。voidsetCompressionMode(int mode) 圧縮を実行するかどうかを指定し、実行する場合は、圧縮パラメータの指定方法を決定します。voidsetCompressionQuality(float quality) 圧縮品質を0から1の間の値に設定します。voidsetCompressionType(String compressionType) getCompressionTypesで示される値の1つに圧縮方式を設定します。voidsetProgressiveMode(int mode) 品質を向上させる一連のスキャンがストリームに含まれるようなプログレッシブ・モードで、書込み側がイメージを書き出すことを指定します。voidsetTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset) イメージが出力ストリーム内でタイリングされるよう指定します。voidsetTilingMode(int mode) イメージを出力ストリーム中にタイリングするか、またタイリングする場合には、タイリング・パラメータの指定方法を指定します。voidsetTilingへの呼出しで指定される、以前のタイル・グリッド・パラメータをすべて削除します。クラスで宣言されたメソッド IIOParam
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling修飾子と型メソッド説明booleanこのIIOParamオブジェクトに対してインストールされているIIOParamControllerをアクティブにし、結果の値を返します。現在インストールされているIIOParamControllerを返します。デフォルトのIIOParamControllerがある場合は、現在インストールされているコントローラとは関係なく、これを返します。ピクセルが配置されるデスティネーション・イメージのオフセットを返します。ImageTypeSpecifierとして、setDestination(ImageTypeSpecifier)の呼出しによって設定された場合、読込みによって返されるイメージのタイプを返します。int[]使用するソース・バンドのセットを返します。使用するソース領域を返します。intピクセルごとに浮き出るソース列の数を返します。intピクセルごとに浮き出るソース行の数を返します。intサブサンプリング・グリッドの水平方向のオフセットを返します。intサブサンプリング・グリッドの垂直方向のオフセットを返します。booleanこのIIOParamオブジェクトにインストールされたコントローラがある場合はtrueを返します。voidsetController(IIOParamController controller) activateControllerメソッドを呼び出して、すべてのデフォルト・コントローラをオーバーライドするときに、このIIOParamオブジェクトの設定を指定するために使用するIIOParamControllerを設定します。voidsetDestinationOffset(Point destinationOffset) 読込み時の場合は、将来デコードされるピクセルが配置されるオフセット、書込み時の場合は、領域が書き込まれるオフセットをデスティネーション・イメージに指定します。voidsetDestinationType(ImageTypeSpecifier destinationType) ImageTypeSpecifierを使用して、目的のイメージ形式をデスティネーション・イメージに設定します。voidsetSourceBands(int[] sourceBands) 使用するソース・バンドのインデックスを設定します。voidsetSourceRegion(Rectangle sourceRegion) 処理対象のソース領域を設定します。voidsetSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset) 間引きサブサンプリングを指定して入出力に適用します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
JPEGImageWriteParam
public JPEGImageWriteParam(Locale locale) JPEGImageWriteParamを構築します。 タイリングはサポートされません。 プログレッシブ・エンコーディングはサポートされます。 デフォルトのプログレッシブ・モードはMODE_DISABLEDです。 JPEGと呼ばれる1つの圧縮形式がサポートされます。 デフォルトの圧縮品質は0.75です。- パラメータ:
locale- 圧縮方式名と品質説明をローカライズするためにスーパー・クラスが使用するLocale、またはnull。
-
-
メソッドの詳細
-
unsetCompression
public void unsetCompression()以前のすべての圧縮品質設定を削除します。デフォルトの実装は、圧縮品質を
0.75Fにリセットします。- オーバーライド:
unsetCompression、クラスImageWriteParam- スロー:
IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。- 関連項目:
-
isCompressionLossless
public boolean isCompressionLossless()JPEGプラグインは損失の発生する圧縮だけをサポートするので、falseを返します。- オーバーライド:
isCompressionLossless、クラスImageWriteParam- 戻り値:
false- スロー:
IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。
-
areTablesSet
public boolean areTablesSet()現在表が設定されている場合はtrueを返します。- 戻り値:
- 表が存在する場合は
true。
-
setEncodeTables
public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables) 省略されたストリームのエンコードで使用するために数量化表およびハフマン表を設定します。 各タイプの表は最大で4つです。 メタデータで表が指定されると、これらの表は無視されます。 引数はすべてnull以外である必要があります。 ハフマン表の2つの配列の要素数は同じである必要があります。 メタデータのフレームおよびスキャン・ヘッダーの表指示子は、これらの配列のインデックスと同等であると想定されます。 引数配列は、このメソッドによりコピーされます。- パラメータ:
qTables- 数量化表オブジェクトの配列。DCHuffmanTables- ハフマン表オブジェクトの配列。ACHuffmanTables- ハフマン表オブジェクトの配列。- スロー:
IllegalArgumentException- いずれかの引数がnullであるか、4つより多くの要素を持つ場合、またはDC表とAC表の数が異なる場合。- 関連項目:
-
unsetEncodeTables
public void unsetEncodeTables()現在設定されている数量化表およびハフマン表を削除します。- 関連項目:
-
getQTables
public JPEGQTable[] getQTables()setEncodeTablesへの直前の呼出しで設定された数量化表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGQTableオブジェクトの配列、またはnull。- 関連項目:
-
getDCHuffmanTables
public JPEGHuffmanTable[] getDCHuffmanTables()setEncodeTablesへの直前の呼出しで設定されたDCハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGHuffmanTableオブジェクトの配列、またはnull。- 関連項目:
-
getACHuffmanTables
public JPEGHuffmanTable[] getACHuffmanTables()setEncodeTablesへの直前の呼出しで設定されたACハフマン表の配列のコピーを返します。現在表が設定されていない場合はnullを返します。- 戻り値:
JPEGHuffmanTableオブジェクトの配列、またはnull。- 関連項目:
-
setOptimizeHuffmanTables
public void setOptimizeHuffmanTables(boolean optimize) 書込み処理の一部として最適化されたイメージ用ハフマン表を生成するようにライターに通知します。 デフォルトは「false」です。 このフラグがtrueに設定されている場合は、メタデータで指定されたすべての表をオーバーライドします。 これは、このフラグをtrueに設定して書き込まれたイメージには常にハフマン表が含まれるということです。- パラメータ:
optimize- 書込み時に最適化されたハフマン表を生成するかどうかを示すboolean値。- 関連項目:
-
getOptimizeHuffmanTables
public boolean getOptimizeHuffmanTables()setOptimizeHuffmanTablesの直前の呼出しに渡された値を返します。setOptimizeHuffmanTablesが呼び出されなかった場合は、falseを返します。- 戻り値:
- ライターが最適化されたハフマン表を生成する場合は
true。 - 関連項目:
-