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以上の同じ長さを持つ必要があります。
タイルの書込みをサポートしないサブクラスでは、この値を無視できます。
getPreferredTileSizes()
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, 2014, Oracle and/or its affiliates. All rights reserved.