|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.imageio.IIOParam javax.imageio.ImageWriteParam
public class ImageWriteParam
ストリームの符号化の方法を記述するクラスです。このクラスまたはサブクラスのインスタンスは、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 です。 |
クラス javax.imageio.IIOParam から継承されたフィールド |
---|
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 への呼び出しで指定される、以前のタイルグリッドパラメータをすべて削除します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final int MODE_DISABLED
setTilingMode
、setProgressiveMode
、setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが設定されている場合、ストリームのタイリング、プログレッシブエンコーディング、または圧縮は行われず、該当するアクセス用メソッドは IllegalStateException
をスローします。
MODE_EXPLICIT
,
MODE_COPY_FROM_METADATA
,
MODE_DEFAULT
,
setProgressiveMode(int)
,
getProgressiveMode()
,
setTilingMode(int)
,
getTilingMode()
,
setCompressionMode(int)
,
getCompressionMode()
,
定数フィールド値public static final int MODE_DEFAULT
setTilingMode
、setProgressiveMode
、setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み側がプラグインに依存した方法で内部で選択した実際的なデフォルトに従って、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException
をスローします。
MODE_DISABLED
,
MODE_EXPLICIT
,
MODE_COPY_FROM_METADATA
,
setProgressiveMode(int)
,
getProgressiveMode()
,
setTilingMode(int)
,
getTilingMode()
,
setCompressionMode(int)
,
getCompressionMode()
,
定数フィールド値public static final int MODE_EXPLICIT
setTilingMode
または setCompressionMode
のようなメソッドに渡すことができる定数値です。つまり、このモードが設定されている場合、このクラス内の対応する set
メソッドが提供し、対応する get
メソッドから取得できる追加情報に従って、ストリームのタイリングまたは圧縮が行われます。このモードは段階的な出力ではサポートされません。
MODE_DISABLED
,
MODE_COPY_FROM_METADATA
,
MODE_DEFAULT
,
setProgressiveMode(int)
,
getProgressiveMode()
,
setTilingMode(int)
,
getTilingMode()
,
setCompressionMode(int)
,
getCompressionMode()
,
定数フィールド値public static final int MODE_COPY_FROM_METADATA
setTilingMode
、setProgressiveMode
、または setCompressionMode
のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み操作に渡されるイメージメタデータまたはストリームのコンテンツ、あるいはその両方のコンテンツに基づいて、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException
をスローします。
これはすべての機能のデフォルトモードなので、メタデータを含む読み込みに続いてメタデータを含む書き込みを行うと、可能なかぎり多くの情報が保存されます。
MODE_DISABLED
,
MODE_EXPLICIT
,
MODE_DEFAULT
,
setProgressiveMode(int)
,
getProgressiveMode()
,
setTilingMode(int)
,
getTilingMode()
,
setCompressionMode(int)
,
getCompressionMode()
,
定数フィールド値protected boolean canWriteTiles
ImageWriteParam
でタイルの幅と高さのパラメータを設定できる場合に、true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
タイルの書き込みをサポートしないサブクラスでは、この値を false
に設定する必要があります。
protected int tilingMode
MODE_*
値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA
です。
タイルの書き込みを行わないサブクラスでは、この値を無視できます。
MODE_DISABLED
,
MODE_EXPLICIT
,
MODE_COPY_FROM_METADATA
,
MODE_DEFAULT
,
setTilingMode(int)
,
getTilingMode()
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
です。
プログレッシブエンコーディングをサポートしないサブクラスでは、この値を無視できます。
MODE_DISABLED
,
MODE_EXPLICIT
,
MODE_COPY_FROM_METADATA
,
MODE_DEFAULT
,
setProgressiveMode(int)
,
getProgressiveMode()
protected boolean canWriteCompressed
true
となる boolean
です。デフォルト値は false
です。サブクラスでは、値を手動で設定する必要があります。
圧縮をサポートしないサブクラスでは、この値は false
に設定する必要があります。
protected int compressionMode
MODE_*
値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA
です。
圧縮をサポートしないサブクラスでは、この値を無視できます。
MODE_DISABLED
,
MODE_EXPLICIT
,
MODE_COPY_FROM_METADATA
,
MODE_DEFAULT
,
setCompressionMode(int)
,
getCompressionMode()
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
- 圧縮しない。JPEG のような、通常圧縮出力だけを提供する書き込み側では許可されない。対応する set
と get
メソッドは、IllegalStateException
をスローする
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
をスローします。実装されている場合は、compressionTypes
インスタンス変数のコピーを返し、この変数が null
のときは 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()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。