public class ImageWriteParam extends IIOParam
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
のすべての実装でサポートされる必要があります。たとえば、プログレッシブエンコーディングはオプションですが、サブサンプリングはサポートされる必要があります。
ImageReadParam
修飾子と型 | フィールドと説明 |
---|---|
protected boolean |
canOffsetTiles
この
ImageWriteParam でタイリンググリッド座標パラメータを設定できる場合に、true となる boolean です。 |
protected boolean |
canWriteCompressed
この書き込み側が、圧縮を使用してイメージを書き込みできる場合に、
true となる boolean です。 |
protected boolean |
canWriteProgressive
この
ImageWriteParam で、品質パスを増加させる段階的な処理として、イメージの書き込みができる場合に、true となる boolean です。 |
protected boolean |
canWriteTiles
この
ImageWriteParam でタイルの幅と高さのパラメータを設定できる場合に、true となる boolean です。 |
protected int |
compressionMode
圧縮設定を制御するモードで、4 つの
MODE_* 値の 1 つに設定する必要があります。 |
protected float |
compressionQuality
現在の圧縮品質設定を含む
float です。 |
protected String |
compressionType
現在の圧縮方式名を含む
String で、設定されていない場合 null です。 |
protected String[] |
compressionTypes
使用可能な圧縮方式名を含む
String の配列です。 |
protected Locale |
locale
圧縮方式名と品質の説明をローカライズするために使用される
Locale 、あるいはデフォルトの Locale を使用するための null です。 |
static int |
MODE_COPY_FROM_METADATA
今後の書き込み機能を使用可能にするために、
setTilingMode 、setProgressiveMode 、または setCompressionMode のようなメソッドに渡すことのできる定数値です。 |
static int |
MODE_DEFAULT
今後の書き込み機能を使用可能にするために、
setTilingMode 、setProgressiveMode 、setCompressionMode のようなメソッドに渡すことのできる定数値です。 |
static int |
MODE_DISABLED
今後の書き込み機能を使用不可にするために、
setTilingMode 、setProgressiveMode 、setCompressionMode のようなメソッドに渡すことのできる定数値です。 |
static int |
MODE_EXPLICIT
今後の書き込み機能を使用可能にするために、
setTilingMode または setCompressionMode のようなメソッドに渡すことができる定数値です。 |
protected Dimension[] |
preferredTileSizes
適切なタイルサイズの範囲ペアの配列です。
|
protected int |
progressiveMode
プログレッシブエンコーディングを制御するモードで、
MODE_EXPLICIT 以外の 4 つの MODE_* 値の 1 つを設定する必要があります。 |
protected int |
tileGridXOffset
タイリングが設定されている場合、イメージの起点からタイルグリッドの原点までの水平座標での距離で、設定されていない場合は 0 です。
|
protected int |
tileGridYOffset
タイリングが設定されている場合、イメージの起点からタイルグリッドの原点までの垂直座標での距離で、設定されていない場合は 0 です。
|
protected int |
tileHeight
タイリングが設定されている場合は各タイルの高さになり、設定されていない場合は 0 になります。
|
protected int |
tileWidth
タイリングが設定されている場合は各タイルの幅になり、設定されていない場合は 0 になります。
|
protected int |
tilingMode
タイリング設定を制御するモードで、4 つの
MODE_* 値の 1 つに設定する必要があります。 |
protected boolean |
tilingSet
タイリングパラメータが指定されている場合に、
true となる boolean です。 |
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
修飾子 | コンストラクタと説明 |
---|---|
protected |
ImageWriteParam()
空の
ImageWriteParam を構築します。 |
|
ImageWriteParam(Locale locale)
指定された
Locale を使用するために設定される ImageWriteParam を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean |
canOffsetTiles()
書き込み側が書き込み中に 0 以外のグリッド座標でタイリングを実行できる場合に、
true を返します。 |
boolean |
canWriteCompressed()
この書き込み側が圧縮をサポートする場合、
true を返します。 |
boolean |
canWriteProgressive()
品質を段階的に向上させる一連のパスとして、書き込み側が出力イメージを書き出すことができる場合に
true を返します。 |
boolean |
canWriteTiles()
書き込み側が書き込み中にタイリングを実行できる場合、
true を返します。 |
float |
getBitRate(float quality)
入力イメージデータの各ビットに対して、指定された品質レベルで出力データのビット数の見積もりを示す
float を返します。 |
int |
getCompressionMode()
圧縮がサポートされる場合、現在の圧縮モードを返します。
|
float |
getCompressionQuality()
現在の圧縮品質設定を返します。
|
String[] |
getCompressionQualityDescriptions()
圧縮品質レベルの表示または設定のためのユーザーインタフェースの一部として、
getCompressionQualityValues とともに使用できる String の配列を返します。 |
float[] |
getCompressionQualityValues()
圧縮品質レベルの表示または設定のためのユーザーインタフェースの一部として、
getCompressionQualityDescriptions とともに使用できる float の配列を返します。 |
String |
getCompressionType()
現在設定された圧縮方式を返すか、何も設定されていない場合は
null を返します。 |
String[] |
getCompressionTypes()
使用可能な圧縮方式のリストを配列または
String として返し、これらのインタフェースを使用して圧縮方式を選択できない場合に null を返します。 |
Locale |
getLocale()
現在設定されている
Locale を返す、あるいはデフォルト Locale だけがサポートされている場合 null になります。 |
String |
getLocalizedCompressionTypeName()
getLocale が返した Locale を使用して、現在の圧縮方式のローカライズされた名前を返します。 |
Dimension[] |
getPreferredTileSizes()
タイルが出力ファイルまたはストリームで符号化されるとき、タイルの正規のサイズ範囲を示す
Dimension の配列を返します。 |
int |
getProgressiveMode()
プログレッシブ方式でストリームを書き込むための、現在のモードを返します。
|
int |
getTileGridXOffset()
イメージが出力ストリームに書き込まれるとき、イメージの水平タイルグリッド座標を返します。
|
int |
getTileGridYOffset()
イメージが出力ストリームに書き込まれるとき、イメージの垂直タイルグリッド座標を返します。
|
int |
getTileHeight()
イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの高さを返します。
|
int |
getTileWidth()
イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの幅を返します。
|
int |
getTilingMode()
タイリングがサポートされている場合、現在のタイリングモードを返します。
|
boolean |
isCompressionLossless()
現在の圧縮方式が、損失なし圧縮を提供する場合、
true を返します。 |
void |
setCompressionMode(int mode)
圧縮を実行するかどうかを指定し、実行する場合は、圧縮パラメータの指定方法を決定します。
|
void |
setCompressionQuality(float quality)
圧縮品質を
0 から 1 の間の値に設定します。 |
void |
setCompressionType(String compressionType)
getCompressionTypes で示される値の 1 つに圧縮方式を設定します。 |
void |
setProgressiveMode(int mode)
品質を向上させる一連のスキャンがストリームに含まれるようなプログレッシブモードで、書き込み側がイメージを書き出すことを指定します。
|
void |
setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset)
イメージが出力ストリーム内でタイリングされるよう指定します。
|
void |
setTilingMode(int mode)
イメージを出力ストリーム中にタイリングするか、またタイリングする場合には、タイリングパラメータの指定方法を指定します。
|
void |
unsetCompression()
以前の圧縮方式と品質設定をすべて削除します。
|
void |
unsetTiling()
setTiling への呼び出しで指定される、以前のタイルグリッドパラメータをすべて削除します。 |
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
public static final int MODE_DISABLED
setTilingMode
、setProgressiveMode
、setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが設定されている場合、ストリームのタイリング、プログレッシブエンコーディング、または圧縮は行われず、該当するアクセス用メソッドは IllegalStateException
をスローします。public static final int MODE_DEFAULT
setTilingMode
、setProgressiveMode
、setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み側がプラグインに依存した方法で内部で選択した実際的なデフォルトに従って、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException
をスローします。public static final int MODE_EXPLICIT
setTilingMode
または setCompressionMode
のようなメソッドに渡すことができる定数値です。つまり、このモードが設定されている場合、このクラス内の対応する set
メソッドが提供し、対応する get
メソッドから取得できる追加情報に従って、ストリームのタイリングまたは圧縮が行われます。このモードは段階的な出力ではサポートされません。public static final int MODE_COPY_FROM_METADATA
setTilingMode
、setProgressiveMode
、または setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み操作に渡されるイメージメタデータまたはストリームのコンテンツ、あるいはその両方のコンテンツに基づいて、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException
をスローします。
これはすべての機能のデフォルトモードなので、メタデータを含む読み込みに続いてメタデータを含む書き込みを行うと、可能な限り多くの情報が保存されます。
protected boolean canWriteTiles
ImageWriteParam
でタイルの幅と高さのパラメータを設定できる場合に、true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
タイルの書き込みをサポートしないサブクラスでは、この値を false
に設定する必要があります。
protected int tilingMode
MODE_*
値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA
です。
タイルの書き込みを行わないサブクラスでは、この値を無視できます。
protected Dimension[] preferredTileSizes
null
で、これは適切なサイズがないことを示します。値が null
でない場合、2 以上の同じ長さを持つ必要があります。
タイルの書き込みをサポートしないサブクラスでは、この値を無視できます。
protected boolean tilingSet
true
となる boolean
です。
タイルの書き込みをサポートしないサブクラスでは、この値を無視できます。
protected int tileWidth
タイリングをサポートしないサブクラスでは、この値を無視できます。
protected int tileHeight
0
です。
タイリングをサポートしないサブクラスでは、この値を無視できます。
protected boolean canOffsetTiles
ImageWriteParam
でタイリンググリッド座標パラメータを設定できる場合に、true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
タイルの書き込みをサポートしない、または書き込みをサポートしても、タイルの座標化をサポートしないサブクラスでは、この値は false
に設定する必要があります。
protected int tileGridXOffset
0
です。
タイルの座標化をサポートしないサブクラスでは、この値を無視できます。
protected int tileGridYOffset
0
です。
タイルの座標化をサポートしないサブクラスでは、この値を無視できます。
protected boolean canWriteProgressive
ImageWriteParam
で、品質パスを増加させる段階的な処理として、イメージの書き込みができる場合に、true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
プログレッシブエンコーディングをサポートしないサブクラスでは、この値は false
に設定する必要があります。
protected int progressiveMode
MODE_EXPLICIT
以外の 4 つの MODE_*
値の 1 つを設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA
です。
プログレッシブエンコーディングをサポートしないサブクラスでは、この値を無視できます。
protected boolean canWriteCompressed
true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
圧縮をサポートしないサブクラスでは、この値は false
に設定する必要があります。
protected int compressionMode
MODE_*
値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA
です。
圧縮をサポートしないサブクラスでは、この値を無視できます。
protected String[] compressionTypes
String
の配列です。サブクラスでは、値を手動で設定する必要があります。
圧縮をサポートしないサブクラスでは、この値を無視できます。
protected String compressionType
String
で、設定されていない場合 null
です。
圧縮をサポートしないサブクラスでは、この値を無視できます。
protected float compressionQuality
float
です。初期値は 1.0F
です。
圧縮をサポートしないサブクラスでは、この値を無視できます。
protected Locale locale
Locale
、あるいはデフォルトの Locale
を使用するための null
です。サブクラスでは、値を手動で設定する必要があります。protected ImageWriteParam()
ImageWriteParam
を構築します。インスタンス変数を適切に設定するのは、サブクラスの仕事になります。public ImageWriteParam(Locale locale)
Locale
を使用するために設定される ImageWriteParam
を構築します。locale
- 圧縮方式名と品質の説明をローカライズするために使用される Locale
、または null
。public Locale getLocale()
Locale
を返す、あるいはデフォルト Locale
だけがサポートされている場合 null
になります。Locale
、または null
。public boolean canWriteTiles()
true
を返します。このメソッドが false
を返す場合、setTiling
が UnsupportedOperationException
をスローします。true
。canOffsetTiles()
, setTiling(int, int, int, int)
public boolean canOffsetTiles()
true
を返します。このメソッドが false
を返す場合、グリッド座標の引数がどちらも 0 でないとき、setTiling
は UnsupportedOperationException
をスローします。canWriteTiles
が false
を返す場合、このメソッドも false
を返します。true
。canWriteTiles()
, setTiling(int, int, int, int)
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
が上記のモードのいずれでもない場合。setTiling(int, int, int, int)
, getTilingMode()
public int getTilingMode()
UnsupportedOperationException
をスローします。UnsupportedOperationException
- canWriteTiles
が false
を返す場合。setTilingMode(int)
public Dimension[] getPreferredTileSizes()
Dimension
の配列を返します。返される配列はコピーです。
情報はペアで返されます。ペアの最初の要素には、包括的な最小の幅と高さが、次の要素には包括的な最大の幅と高さが含まれます。あわせて、各ペアはサイズの有効範囲を定義します。固定サイズを指定するには、両方の要素に同じ幅と高さを使用します。任意の範囲を指定するには、Dimension
の実際の配列の代わりに null
の値が使用されます。
コンストラクタに配列が指定されなくてもタイリングが使用できる場合、このメソッドは null
を返します。
Dimension
の配列、または null
。UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。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 以下の場合。canWriteTiles
, canOffsetTiles
, getTileWidth()
, getTileHeight()
, getTileGridXOffset()
, getTileGridYOffset()
public void unsetTiling()
setTiling
への呼び出しで指定される、以前のタイルグリッドパラメータをすべて削除します。
デフォルト実装では、インスタンス変数 tileWidth
、tileHeight
、tileGridXOffset
、tileGridYOffset
を 0
に設定します。
UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。IllegalStateException
- タイリングモードが MODE_EXPLICIT
でない場合。setTiling(int, int, int, int)
public int getTileWidth()
IllegalStateException
がスローされます。UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。IllegalStateException
- タイリングモードが MODE_EXPLICIT
でない場合。IllegalStateException
- タイリングパラメータが設定されていない場合。setTiling(int, int, int, int)
, getTileHeight()
public int getTileHeight()
IllegalStateException
がスローされます。UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。IllegalStateException
- タイリングモードが MODE_EXPLICIT
でない場合。IllegalStateException
- タイリングパラメータが設定されていない場合。setTiling(int, int, int, int)
, getTileWidth()
public int getTileGridXOffset()
IllegalStateException
がスローされます。UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。IllegalStateException
- タイリングモードが MODE_EXPLICIT
でない場合。IllegalStateException
- タイリングパラメータが設定されていない場合。setTiling(int, int, int, int)
, getTileGridYOffset()
public int getTileGridYOffset()
IllegalStateException
がスローされます。UnsupportedOperationException
- プラグインがタイリングをサポートしない場合。IllegalStateException
- タイリングモードが MODE_EXPLICIT
でない場合。IllegalStateException
- タイリングパラメータが設定されていない場合。setTiling(int, int, int, int)
, getTileGridXOffset()
public boolean canWriteProgressive()
true
を返します。true
。setProgressiveMode(int)
, getProgressiveMode()
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
- 書き込み側がプログレッシブエンコーディングをサポートしない場合。setProgressiveMode(int)
public boolean canWriteCompressed()
true
を返します。true
。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
- 書き込み側が圧縮をサポートしない場合。setCompressionMode(int)
public String[] getCompressionTypes()
String
として返し、これらのインタフェースを使用して圧縮方式を選択できない場合に null
を返します。返される配列はコピーです。
書き込み側が、規定の圧縮方式を 1 つだけ提供する場合、圧縮方式を指定する必要はありません。圧縮方式を指定する必要があるのは、ユーザーが異なるスキーム間で意味のある選択ができる場合だけです。
デフォルト実装では、圧縮がサポートされているかを調べ、実装されていない場合は UnsupportedOperationException
をスローします。実装されている場合は、それが null
以外の場合は compressionTypes
インスタンス変数のクローンを返し、それ以外の場合は null
を返します。
String
の配列、または null
。UnsupportedOperationException
- 書き込み側が圧縮をサポートしない場合。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 つではない場合。getCompressionTypes()
, getCompressionType()
, unsetCompression()
public String getCompressionType()
null
を返します。方式は、getCompressionTypes
が返した中から String
として返されます。圧縮方式が設定されていない場合、null
を返します。
デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT
であるかを調べます。これに当てはまる場合、compressionType
インスタンス変数の値を返します。
String
、方式が設定されていない場合は null
。UnsupportedOperationException
- 書き込み側が圧縮をサポートしない場合。IllegalStateException
- 圧縮モードが MODE_EXPLICIT
でない場合。setCompressionType(java.lang.String)
public void unsetCompression()
デフォルト実装では、インスタンス変数 compressionType
を null
に、インスタンス変数 compressionQuality
を 1.0F
に設定します。
UnsupportedOperationException
- プラグインが圧縮をサポートしない場合。IllegalStateException
- 圧縮モードが MODE_EXPLICIT
でない場合。setCompressionType(java.lang.String)
, setCompressionQuality(float)
public String getLocalizedCompressionTypeName()
getLocale
が返した Locale
を使用して、現在の圧縮方式のローカライズされた名前を返します。
デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT
であるかを調べます。これに当てはまる場合、compressionType
が null 以外
のとき、便宜上 getCompressionType
の値が返されます。
String
。UnsupportedOperationException
- 書き込み側が圧縮をサポートしない場合。IllegalStateException
- 圧縮モードが MODE_EXPLICIT
でない場合。IllegalStateException
- 圧縮方式が設定されていない場合。public boolean isCompressionLossless()
true
を返します。プラグインが規定の圧縮方式を 1 つだけ提供する場合は、最初に setCompressionType
を呼び出さずに、このメソッドを呼び出すことができます。
複数の圧縮方式があり、そのどれもが設定されていない場合、IllegalStateException
がスローされます。
デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT
であるかを調べます。これに当てはまる場合、getCompressionTypes()
が null
であるとき、あるいは getCompressionType()
が null
でないとき、便宜上 true
が返されます。
true
。UnsupportedOperationException
- 書き込み側が圧縮をサポートしない場合。IllegalStateException
- 圧縮モードが MODE_EXPLICIT
でない場合。IllegalStateException
- 正規の圧縮方式のセットが null
でなく、現在の圧縮方式が null
の場合。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
の場合。setCompressionQuality(float)
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
の範囲内にない場合。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
の場合。getCompressionQualityDescriptions()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.