クラスImageWriteParam
- 直系の既知のサブクラス:
BMPImageWriteParam,JPEGImageWriteParam
ImageWriterのインスタンスへ規定の「方法」についての情報を提供するために使用されます。
特定のイメージ形式のためのプラグインで、このクラスのサブクラスを定義し、ImageWriterが実装するgetDefaultWriteParamメソッドからそのクラスのオブジェクトを返すことができます。 たとえば、組み込みJPEGの書込み側プラグインは、javax.imageio.plugins.jpeg.JPEGImageWriteParamのインスタンスを返します。
書き込むイメージの範囲は、まずIIOParam.setSourceRegionがあれば、これが指定する矩形と、イメージの実際の範囲が交差することにより決定されます。 生成される矩形の幅または高さが0の場合、書込み側はIIOExceptionをスローします。 交差がある場合、最初にサブサンプルされたピクセルで書込みが始まり、IIOParam.setSourceSubsamplingで指定される水平および垂直のサブサンプリング係数に従って、交差した範囲内に追加のピクセルを組み込みます。
タイリング、プログレッシブ・エンコーディング、圧縮のような個々の機能は、4つのモードのうちの1つに設定できます。 MODE_DISABLEDは機能を使用不可にします。MODE_DEFAULTは、書込み側で制御されるパラメータ値で機能を使用可能にします。MODE_EXPLICITは機能を使用可能にし、追加パラメータを提供するためのsetメソッドを使用可能にします。MODE_COPY_FROM_METADATAは、書込み側に渡されるストリームとイメージ・メタデータ・オブジェクトから、該当するパラメータ値をコピーします。 すべての機能のデフォルトは、MODE_COPY_FROM_METADATAです。 標準以外の機能をサブクラス内で提供することは推奨しますが、同様のスキームの使用には不要です。
プラグインの書込み側は、プラグイン固有の追加のインタフェースを実装するサブクラスを提供することにより、ImageWriteParamの機能を拡張できます。 どのインタフェースが利用可能か、それがどのように使用されるかは、プラグインによります。 書込み側では、認識しないImageWriteParamサブクラスの拡張機能はそのまま無視します。 また、getDefaultWriteParamを介して、読取り側自体のImageWriteParamインスタンスを作成する場合、通常、使用不可であるオプション機能はすべて無視されます。
クエリー・メソッドは、将来のために用意されている場合を除き、ImageWriterのすべての実装でサポートされる必要があります。たとえば、プログレッシブ・エンコーディングはオプションですが、サブサンプリングはサポートされる必要があります。
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明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です。クラスjavax.imageio.IIOParamで宣言されたフィールド
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protected空のImageWriteParamを構築します。ImageWriteParam(Locale locale) 指定されたLocaleを使用するために設定されるImageWriteParamを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明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タイリングがサポートされている場合、現在のタイリング・モードを返します。boolean現在の圧縮方式が、損失なし圧縮を提供する場合、trueを返します。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) イメージを出力ストリーム中にタイリングするか、またタイリングする場合には、タイリング・パラメータの指定方法を指定します。void以前の圧縮方式と品質設定をすべて削除します。voidsetTilingへの呼出しで指定される、以前のタイル・グリッド・パラメータをすべて削除します。クラスjavax.imageio.IIOParamで宣言されたメソッド
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
-
フィールド詳細
-
MODE_DISABLED
public static final int MODE_DISABLED今後の書込み機能を使用不可にするために、setTilingMode、setProgressiveMode、setCompressionModeのようなメソッドに渡すことのできる定数値です。 つまり、このモードが設定されている場合、ストリームのタイリング、プログレッシブ・エンコーディング、または圧縮は行われず、該当するアクセス用メソッドはIllegalStateExceptionをスローします。- 関連項目:
-
MODE_DEFAULT
public static final int MODE_DEFAULT今後の書込み機能を使用可能にするために、setTilingMode、setProgressiveMode、setCompressionModeのようなメソッドに渡すことのできる定数値です。 つまり、このモードが使用可能な場合、書込み側がプラグインに依存した方法で内部で選択した実際的なデフォルトに従って、ストリームのタイリング、プログレッシブ・エンコーディング、または圧縮が行われ、該当するアクセス用メソッドはIllegalStateExceptionをスローします。- 関連項目:
-
MODE_EXPLICIT
public static final int MODE_EXPLICIT今後の書込み機能を使用可能にするために、setTilingModeまたはsetCompressionModeのようなメソッドに渡すことができる定数値です。 つまり、このモードが設定されている場合、このクラス内の対応するsetメソッドが提供し、対応するgetメソッドから取得できる追加情報に従って、ストリームのタイリングまたは圧縮が行われます。 このモードは段階的な出力ではサポートされません。- 関連項目:
-
MODE_COPY_FROM_METADATA
public static final int MODE_COPY_FROM_METADATA今後の書込み機能を使用可能にするために、setTilingMode、setProgressiveMode、またはsetCompressionModeのようなメソッドに渡すことのできる定数値です。 つまり、このモードが使用可能な場合、書込み操作に渡されるイメージ・メタデータまたはストリームのコンテンツ、あるいはその両方のコンテンツに基づいて、ストリームのタイリング、プログレッシブ・エンコーディング、または圧縮が行われ、該当するアクセス用メソッドはIllegalStateExceptionをスローします。これはすべての機能のデフォルト・モードなので、メタデータを含む読込みに続いてメタデータを含む書込みを行うと、可能な限り多くの情報が保存されます。
- 関連項目:
-
canWriteTiles
protected boolean canWriteTilesこのImageWriteParamでタイルの幅と高さのパラメータを設定できる場合に、trueとなるbooleanです。 デフォルト値はfalseです。 サブクラスでは、値を手動で設定する必要があります。タイルの書込みをサポートしないサブクラスでは、この値を
falseに設定する必要があります。 -
tilingMode
protected int tilingModeタイリング設定を制御するモードで、4つのMODE_*値の1つに設定する必要があります。 デフォルトはMODE_COPY_FROM_METADATAです。タイルの書込みを行わないサブクラスでは、この値を無視できます。
- 関連項目:
-
preferredTileSizes
protected Dimension[] preferredTileSizes適切なタイル・サイズの範囲ペアの配列です。 デフォルト値はnullで、これは適切なサイズがないことを示します。 値がnullでない場合、2以上の同じ長さを持つ必要があります。タイルの書込みをサポートしないサブクラスでは、この値を無視できます。
- 関連項目:
-
tilingSet
protected boolean tilingSetタイリング・パラメータが指定されている場合に、trueとなるbooleanです。タイルの書込みをサポートしないサブクラスでは、この値を無視できます。
-
tileWidth
protected int tileWidthタイリングが設定されている場合は各タイルの幅になり、設定されていない場合は0になります。タイリングをサポートしないサブクラスでは、この値を無視できます。
-
tileHeight
protected int tileHeightタイリングが設定されている場合は各タイルの高さになり、設定されていない場合は0になります。 初期値は0です。タイリングをサポートしないサブクラスでは、この値を無視できます。
-
canOffsetTiles
protected boolean canOffsetTilesこのImageWriteParamでタイリング・グリッド座標パラメータを設定できる場合に、trueとなるbooleanです。 デフォルト値はfalseです。 サブクラスでは、値を手動で設定する必要があります。タイルの書込みをサポートしない、または書込みをサポートしても、タイルの座標化をサポートしないサブクラスでは、この値は
falseに設定する必要があります。 -
tileGridXOffset
protected int tileGridXOffsetタイリングが設定されている場合、イメージの起点からタイル・グリッドの原点までの水平座標での距離で、設定されていない場合は0です。 初期値は0です。タイルの座標化をサポートしないサブクラスでは、この値を無視できます。
-
tileGridYOffset
protected int tileGridYOffsetタイリングが設定されている場合、イメージの起点からタイル・グリッドの原点までの垂直座標での距離で、設定されていない場合は0です。 初期値は0です。タイルの座標化をサポートしないサブクラスでは、この値を無視できます。
-
canWriteProgressive
protected boolean canWriteProgressiveこのImageWriteParamで、品質パスを増加させる段階的な処理として、イメージの書込みができる場合に、trueとなるbooleanです。 デフォルト値はfalseです。 サブクラスでは、値を手動で設定する必要があります。プログレッシブ・エンコーディングをサポートしないサブクラスでは、この値は
falseに設定する必要があります。 -
progressiveMode
protected int progressiveModeプログレッシブ・エンコーディングを制御するモードで、MODE_EXPLICIT以外の4つのMODE_*値の1つを設定する必要があります。 デフォルトはMODE_COPY_FROM_METADATAです。プログレッシブ・エンコーディングをサポートしないサブクラスでは、この値を無視できます。
- 関連項目:
-
canWriteCompressed
protected boolean canWriteCompressedこの書込み側が、圧縮を使用してイメージを書込みできる場合に、trueとなるbooleanです。 デフォルト値はfalseです。 サブクラスでは、値を手動で設定する必要があります。圧縮をサポートしないサブクラスでは、この値は
falseに設定する必要があります。 -
compressionMode
protected int compressionMode圧縮設定を制御するモードで、4つのMODE_*値の1つに設定する必要があります。 デフォルトはMODE_COPY_FROM_METADATAです。圧縮をサポートしないサブクラスでは、この値を無視できます。
- 関連項目:
-
compressionTypes
protected String[] compressionTypes使用可能な圧縮方式名を含むStringの配列です。 サブクラスでは、値を手動で設定する必要があります。圧縮をサポートしないサブクラスでは、この値を無視できます。
-
compressionType
protected String compressionType現在の圧縮方式名を含むStringで、設定されていない場合nullです。圧縮をサポートしないサブクラスでは、この値を無視できます。
-
compressionQuality
protected float compressionQuality現在の圧縮品質設定を含むfloatです。 初期値は1.0Fです。圧縮をサポートしないサブクラスでは、この値を無視できます。
-
locale
protected Locale locale圧縮方式名と品質の説明をローカライズするために使用されるLocale、あるいはデフォルトのLocaleを使用するためのnullです。 サブクラスでは、値を手動で設定する必要があります。
-
-
コンストラクタの詳細
-
ImageWriteParam
protected ImageWriteParam()空のImageWriteParamを構築します。 インスタンス変数を適切に設定するのは、サブクラスの仕事になります。 -
ImageWriteParam
public ImageWriteParam(Locale locale) 指定されたLocaleを使用するために設定されるImageWriteParamを構築します。- パラメータ:
locale- 圧縮方式名と品質の説明をローカライズするために使用されるLocale、またはnull。
-
-
メソッドの詳細
-
getLocale
public Locale getLocale()現在設定されているLocaleを返す、あるいはデフォルトLocaleだけがサポートされている場合nullになります。- 戻り値:
- 現在の
Locale、またはnull。
-
canWriteTiles
public boolean canWriteTiles()書込み側が書込み中にタイリングを実行できる場合、trueを返します。 このメソッドがfalseを返す場合、setTilingがUnsupportedOperationExceptionをスローします。- 戻り値:
- 書込み側がタイリングをサポートする場合
true。 - 関連項目:
-
canOffsetTiles
public boolean canOffsetTiles()書込み側が書込み中に0以外のグリッド座標でタイリングを実行できる場合に、trueを返します。 このメソッドがfalseを返す場合、グリッド座標の引数がどちらも0でないとき、setTilingはUnsupportedOperationExceptionをスローします。canWriteTilesがfalseを返す場合、このメソッドもfalseを返します。- 戻り値:
- 書込み側が0以外のタイル座標をサポートする場合
true。 - 関連項目:
-
setTilingMode
public void setTilingMode(int mode) イメージを出力ストリーム中にタイリングするか、またタイリングする場合には、タイリング・パラメータの指定方法を指定します。 モードは、次のように解釈されます。MODE_DISABLED- イメージはタイリングされません。setTilingはIllegalStateExceptionをスローします。MODE_DEFAULT- イメージはデフォルト・パラメータを使用してタイリングされます。setTilingはIllegalStateExceptionをスローします。MODE_EXPLICIT- イメージはsetTilingメソッドで与えられるパラメータに従ってタイリングされます。 前もって設定されたタイリング・パラメータはすべて破棄されます。MODE_COPY_FROM_METADATA- イメージは、書込みに渡されるメタデータ・オブジェクトに準拠します。setTilingはIllegalStateExceptionをスローします。
- パラメータ:
mode- タイリングに使用するモード。- スロー:
UnsupportedOperationException-canWriteTilesがfalseを返す場合。IllegalArgumentException-modeが上記のモードのいずれでもない場合。- 関連項目:
-
getTilingMode
public int getTilingMode()タイリングがサポートされている場合、現在のタイリング・モードを返します。 サポートされていない場合は、UnsupportedOperationExceptionをスローします。- 戻り値:
- 現在のタイリング・モード。
- スロー:
UnsupportedOperationException-canWriteTilesがfalseを返す場合。- 関連項目:
-
getPreferredTileSizes
public Dimension[] getPreferredTileSizes()タイルが出力ファイルまたはストリームでエンコードされるとき、タイルの正規のサイズ範囲を示すDimensionの配列を返します。 返される配列はコピーです。情報はペアで返されます。ペアの最初の要素には、包括的な最小の幅と高さが、次の要素には包括的な最大の幅と高さが含まれます。 あわせて、各ペアはサイズの有効範囲を定義します。 固定サイズを指定するには、両方の要素に同じ幅と高さを使用します。 任意の範囲を指定するには、
Dimensionの実際の配列の代わりにnullの値が使用されます。コンストラクタに配列が指定されなくてもタイリングが使用できる場合、このメソッドは
nullを返します。- 戻り値:
- 2以上の同じ長さを持つ
Dimensionの配列、またはnull。 - スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。
-
setTiling
public void setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset) イメージが出力ストリーム内でタイリングされるよう指定します。tileWidthとtileHeightパラメータは、ファイル内のタイルの幅と高さを指定します。 タイルの幅または高さがイメージの幅または高さよりも大きい場合、イメージはその範囲内にタイリングされません。canOffsetTilesがfalseを返す場合、tileGridXOffsetとtileGridYOffsetパラメータは0になります。- パラメータ:
tileWidth- 各タイルの幅。tileHeight- 各タイルの高さ。tileGridXOffset- タイル・グリッドの水平座標。tileGridYOffset- タイル・グリッドの垂直座標。- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。UnsupportedOperationException- プラグインがグリッド座標をサポートせず、グリッド座標がどちらも0でない場合。IllegalArgumentException- タイル・サイズがgetPreferredTileSizesが返した使用可能な範囲内にない場合。IllegalArgumentException-tileWidthまたはtileHeightが0以下の場合。- 関連項目:
-
unsetTiling
public void unsetTiling()setTilingへの呼出しで指定される、以前のタイル・グリッド・パラメータをすべて削除します。デフォルト実装では、インスタンス変数
tileWidth、tileHeight、tileGridXOffset、tileGridYOffsetを0に設定します。- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。- 関連項目:
-
getTileWidth
public int getTileWidth()イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの幅を返します。 タイリング・パラメータが設定されていない場合、IllegalStateExceptionがスローされます。- 戻り値:
- 符号化に使用されるタイルの幅
- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。IllegalStateException- タイリング・パラメータが設定されていない場合。- 関連項目:
-
getTileHeight
public int getTileHeight()イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの高さを返します。 タイリング・パラメータが設定されていない場合、IllegalStateExceptionがスローされます。- 戻り値:
- 符号化に使用されるタイルの高さ
- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。IllegalStateException- タイリング・パラメータが設定されていない場合。- 関連項目:
-
getTileGridXOffset
public int getTileGridXOffset()イメージが出力ストリームに書き込まれるとき、イメージの水平タイル・グリッド座標を返します。 タイリング・パラメータが設定されていない場合、IllegalStateExceptionがスローされます。- 戻り値:
- 符号化に使用されるタイル・グリッドX座標。
- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。IllegalStateException- タイリング・パラメータが設定されていない場合。- 関連項目:
-
getTileGridYOffset
public int getTileGridYOffset()イメージが出力ストリームに書き込まれるとき、イメージの垂直タイル・グリッド座標を返します。 タイリング・パラメータが設定されていない場合、IllegalStateExceptionがスローされます。- 戻り値:
- 符号化に使用されるタイル・グリッドY座標。
- スロー:
UnsupportedOperationException- プラグインがタイリングをサポートしない場合。IllegalStateException- タイリング・モードがMODE_EXPLICITでない場合。IllegalStateException- タイリング・パラメータが設定されていない場合。- 関連項目:
-
canWriteProgressive
public boolean canWriteProgressive()品質を段階的に向上させる一連のパスとして、書込み側が出力イメージを書き出すことができる場合にtrueを返します。- 戻り値:
- 書込み側がプログレッシブ・エンコーディングをサポートする場合は
true。 - 関連項目:
-
setProgressiveMode
public void setProgressiveMode(int mode) 品質を向上させる一連のスキャンがストリームに含まれるようなプログレッシブ・モードで、書込み側がイメージを書き出すことを指定します。 プログレッシブ・エンコーディングがサポートされていない場合、UnsupportedOperationExceptionがスローされます。モード引数は、プログレッション・パラメータの選択方法を指定し、
MODE_DISABLED、MODE_COPY_FROM_METADATA、MODE_DEFAULTのどちらかである必要があります。 それ以外の場合はIllegalArgumentExceptionがスローされます。モードは、次のように解釈されます。
MODE_DISABLED- プログレッションなし。 プログレッションをオフに設定する場合に使用します。MODE_COPY_FROM_METADATA- 出力イメージは、書込み側に渡されたメタデータ・オブジェクト内の任意のプログレッション・パラメータを使用します。MODE_DEFAULT- イメージは、書込み側で選択したパラメータで、段階的に書き込まれます。
デフォルトは
MODE_COPY_FROM_METADATAです。- パラメータ:
mode- 出力ストリーム内でプログレッションを設定するためのモード。- スロー:
UnsupportedOperationException- 書込み側がプログレッシブ・エンコーディングをサポートしない場合。IllegalArgumentException-modeが上記のモードのいずれでもない場合。- 関連項目:
-
getProgressiveMode
public int getProgressiveMode()プログレッシブ方式でストリームを書き込むための、現在のモードを返します。- 戻り値:
- プログレッシブ・エンコーディングのための現在のモード。
- スロー:
UnsupportedOperationException- 書込み側がプログレッシブ・エンコーディングをサポートしない場合。- 関連項目:
-
canWriteCompressed
public boolean canWriteCompressed()この書込み側が圧縮をサポートする場合、trueを返します。- 戻り値:
- 書込み側が圧縮をサポートする場合
true。
-
setCompressionMode
public void setCompressionMode(int mode) 圧縮を実行するかどうかを指定し、実行する場合は、圧縮パラメータの指定方法を決定します。mode引数は、次のように解釈される4つのモードのうちの1つである必要があります。MODE_DISABLED- モデルがMODE_DISABLEDに設定されると、圧縮方式または圧縮パラメータを照会または変更するメソッドはIllegalStateExceptionをスローします(通常、このプラグインで圧縮がサポートされる場合)。 JPEGなどの一部の書込み側では、通常、圧縮解除された出力は提供されません。 この場合、モードをMODE_DISABLEDに設定しようとするとUnsupportedOperationExceptionがスローされ、モードは変更されません。MODE_EXPLICIT- このImageWriteParamで指定される圧縮方式と品質設定を使用して圧縮します。 以前に設定された圧縮パラメータはすべて破棄されます。MODE_COPY_FROM_METADATA- 書込み側に渡されるメタデータ・オブジェクトで指定される任意の圧縮パラメータを使用します。MODE_DEFAULT- デフォルトの圧縮パラメータを使用します。
デフォルトは
MODE_COPY_FROM_METADATAです。- パラメータ:
mode- 出力ストリーム内で圧縮を設定するためのモード。- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合、または要求されたモードをサポートしない場合。IllegalArgumentException-modeが上記のモードのいずれでもない場合。- 関連項目:
-
getCompressionMode
public int getCompressionMode()圧縮がサポートされる場合、現在の圧縮モードを返します。- 戻り値:
- 現在の圧縮モード。
- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。- 関連項目:
-
getCompressionTypes
public String[] getCompressionTypes()使用可能な圧縮方式のリストを配列またはStringとして返し、これらのインタフェースを使用して圧縮方式を選択できない場合にnullを返します。 返される配列はコピーです。書込み側が、規定の圧縮方式を1つだけ提供する場合、圧縮方式を指定する必要はありません。 圧縮方式を指定する必要があるのは、ユーザーが異なるスキーム間で意味のある選択ができる場合だけです。
デフォルト実装では、圧縮がサポートされているかを調べ、実装されていない場合は
UnsupportedOperationExceptionをスローします。 実装されている場合は、それがnull以外の場合はcompressionTypesインスタンス変数のクローンを返し、それ以外の場合はnullを返します。- 戻り値:
- 使用可能な圧縮方式で、ローカライズされていない名前を含む
Stringの配列、またはnull。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。
-
setCompressionType
public void setCompressionType(String compressionType) getCompressionTypesで示される値の1つに圧縮方式を設定します。nullの値が渡される場合、以前の設定はすべて削除されます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypesを呼び出し、compressionTypeが正規の値の1つであるかを調べます。 正規の値の場合、compressionTypeインスタンス変数が設定されます。compressionTypeがnullの場合、インスタンス変数はチェックを実行せずに設定されます。- パラメータ:
compressionType-getCompressionTypesが返したStringの1つ、または以前の設定をすべて削除するためのnull。- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。UnsupportedOperationException- 設定可能な圧縮方式がない場合。IllegalArgumentException-compressionTypeがnullではないが、getCompressionTypesによって返された値の1つではない場合。- 関連項目:
-
getCompressionType
public String getCompressionType()現在設定された圧縮方式を返すか、何も設定されていない場合はnullを返します。 方式は、getCompressionTypesが返した中からStringとして返されます。 圧縮方式が設定されていない場合、nullを返します。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、compressionTypeインスタンス変数の値を返します。- 戻り値:
- 現在の圧縮方式として
String、方式が設定されていない場合はnull。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。- 関連項目:
-
unsetCompression
public void unsetCompression()以前の圧縮方式と品質設定をすべて削除します。デフォルト実装では、インスタンス変数
compressionTypeをnullに、インスタンス変数compressionQualityを1.0Fに設定します。- スロー:
UnsupportedOperationException- プラグインが圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。- 関連項目:
-
getLocalizedCompressionTypeName
public String getLocalizedCompressionTypeName()getLocaleが返したLocaleを使用して、現在の圧縮方式のローカライズされた名前を返します。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、compressionTypeがnull以外のとき、便宜上getCompressionTypeの値が返されます。- 戻り値:
- 現在の圧縮方式のローカライズされた名前を含む
String。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 圧縮方式が設定されていない場合。
-
isCompressionLossless
public boolean isCompressionLossless()現在の圧縮方式が、損失なし圧縮を提供する場合、trueを返します。 プラグインが規定の圧縮方式を1つだけ提供する場合は、最初にsetCompressionTypeを呼び出さずに、このメソッドを呼び出すことができます。複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnullであるとき、あるいはgetCompressionType()がnullでないとき、便宜上trueが返されます。- 戻り値:
- 現在の圧縮方式が損失なしの場合は
true。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。
-
setCompressionQuality
public void setCompressionQuality(float quality) 圧縮品質を0から1の間の値に設定します。 デフォルトでは、1つの圧縮品質設定だけがサポートされます。書込み側は、多くの制御ができるImageWriteParamの拡張バージョンを提供できます。 損失のある圧縮スキームでは、圧縮品質はファイル・サイズとイメージ品質との兼ね合いを調整する必要があります。たとえば、JPEGイメージを書き込むときに、量子化表を選択して調整します。 損失のないスキームでは、圧縮品質はファイル・サイズと圧縮実行にかかる時間との兼ね合いを調整するために使用できます。たとえば、PNGイメージを書き込むときに、行フィルタの最適化とZLIB圧縮レベルの設定により調整します。一般に、圧縮品質の設定値0.0は「圧縮率の高さを重視」し、設定値1.0は「画質の高さを重視」するものと解釈できます。
複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnullを返す、あるいはcompressionTypeがnullでないとき、compressionQualityインスタンス変数を設定します。- パラメータ:
quality- 希望する品質レベルを示す0から1までのfloat。- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。IllegalArgumentException-qualityが0から1の範囲内にない場合。- 関連項目:
-
getCompressionQuality
public float getCompressionQuality()現在の圧縮品質設定を返します。複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnull、あるいはgetCompressionType()がnullでないとき、compressionQualityインスタンス変数の値を返します。- 戻り値:
- 現在の圧縮品質設定
- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。- 関連項目:
-
getBitRate
public float getBitRate(float quality) 入力イメージ・データの各ビットに対して、指定された品質レベルで出力データのビット数の見積もりを示すfloatを返します。 通常、値は0から1になります。ここで、値が小さいほど圧縮が大きいことを示します。 見積もりが使用できないことを示すために、特別な値-1.0Fが使用されます。複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnullのとき、あるいはgetCompressionType()がnullでなく、qualityが範囲内にあるときに、-1.0を返します。- パラメータ:
quality- ビット・レートが照会される品質設定。- 戻り値:
- 圧縮ビット・レートの見積もり、あるいは見積もりが使用できない場合
-1.0F。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。IllegalArgumentException-qualityが0から1の範囲内にない場合。
-
getCompressionQualityDescriptions
public String[] getCompressionQualityDescriptions()圧縮品質レベルの表示または設定のためのユーザー・インタフェースの一部として、getCompressionQualityValuesとともに使用できるStringの配列を返します。 インデックスiを持つStringは、getCompressionQualityValues[i]からgetCompressionQualityValues[i+1]までの品質レベル範囲の説明を提供します。getCompressionQualityValuesから返された配列の長さは、getCompressionQualityDescriptionsから返された配列の長さより、常に長くなります。例として、文字列「Good」、「Better」、「Best」は、範囲
[0, .33)、[.33, .66)、[.66, 1.0]に関連付けることができます。 この場合、getCompressionQualityDescriptionsは{ "Good", "Better", "Best" }を返し、getCompressionQualityValuesは{ 0.0F, .33F, .66F, 1.0F }を返します。説明が使用できない場合、
nullが返されます。getCompressionQualityValuesからnullが返される場合、このメソッドもnullを返す必要があります。説明は、
nullでない場合、getLocaleが返したLocaleに対してローカライズする必要があります。複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnullのとき、あるいはgetCompressionType()がnullでないときにnullを返します。- 戻り値:
- 圧縮品質レベルのローカライズされた説明を含む
Stringの配列。 - スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。- 関連項目:
-
getCompressionQualityValues
public float[] getCompressionQualityValues()圧縮品質レベルの表示または設定のためのユーザー・インタフェースの一部として、getCompressionQualityDescriptionsとともに使用できるfloatの配列を返します。 詳細は、getCompressionQualityDescriptionsを参照してください。説明が使用できない場合、
nullが返されます。getCompressionQualityDescriptionsからnullが返される場合、このメソッドはnullも返す必要があります。複数の圧縮方式があり、そのどれもが設定されていない場合、
IllegalStateExceptionがスローされます。デフォルト実装では、圧縮がサポートされるか、圧縮モードが
MODE_EXPLICITであるかを調べます。 これに当てはまる場合、getCompressionTypes()がnullのとき、あるいはgetCompressionType()がnullでないときにnullを返します。- 戻り値:
getCompressionQualityDescriptionsからのStringで記述される、圧縮品質レベル間の範囲を示すfloatの配列。- スロー:
UnsupportedOperationException- 書込み側が圧縮をサポートしない場合。IllegalStateException- 圧縮モードがMODE_EXPLICITでない場合。IllegalStateException- 正規の圧縮方式のセットがnullでなく、現在の圧縮方式がnullの場合。- 関連項目:
-