JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio
クラス ImageWriteParam

java.lang.Object
  上位を拡張 javax.imageio.IIOParam
      上位を拡張 javax.imageio.ImageWriteParam
直系の既知のサブクラス:
BMPImageWriteParam, JPEGImageWriteParam

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
          今後の書き込み機能を使用可能にするために、setTilingModesetProgressiveMode、または setCompressionMode のようなメソッドに渡すことのできる定数値です。
static int MODE_DEFAULT
          今後の書き込み機能を使用可能にするために、setTilingModesetProgressiveModesetCompressionMode のようなメソッドに渡すことのできる定数値です。
static int MODE_DISABLED
          今後の書き込み機能を使用不可にするために、setTilingModesetProgressiveModesetCompressionMode のようなメソッドに渡すことのできる定数値です。
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 への呼び出しで指定される、以前のタイルグリッドパラメータをすべて削除します。
 
クラス javax.imageio.IIOParam から継承されたメソッド
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

MODE_DISABLED

public static final int MODE_DISABLED
今後の書き込み機能を使用不可にするために、setTilingModesetProgressiveModesetCompressionMode のようなメソッドに渡すことのできる定数値です。つまり、このモードが設定されている場合、ストリームのタイリング、プログレッシブエンコーディング、または圧縮は行われず、該当するアクセス用メソッドは IllegalStateException をスローします。

関連項目:
MODE_EXPLICIT, MODE_COPY_FROM_METADATA, MODE_DEFAULT, setProgressiveMode(int), getProgressiveMode(), setTilingMode(int), getTilingMode(), setCompressionMode(int), getCompressionMode(), 定数フィールド値

MODE_DEFAULT

public static final int MODE_DEFAULT
今後の書き込み機能を使用可能にするために、setTilingModesetProgressiveModesetCompressionMode のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み側がプラグインに依存した方法で内部で選択した実際的なデフォルトに従って、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException をスローします。

関連項目:
MODE_DISABLED, MODE_EXPLICIT, MODE_COPY_FROM_METADATA, setProgressiveMode(int), getProgressiveMode(), setTilingMode(int), getTilingMode(), setCompressionMode(int), getCompressionMode(), 定数フィールド値

MODE_EXPLICIT

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(), 定数フィールド値

MODE_COPY_FROM_METADATA

public static final int MODE_COPY_FROM_METADATA
今後の書き込み機能を使用可能にするために、setTilingModesetProgressiveMode、または setCompressionMode のようなメソッドに渡すことのできる定数値です。つまり、このモードが使用可能な場合、書き込み操作に渡されるイメージメタデータまたはストリームのコンテンツ、あるいはその両方のコンテンツに基づいて、ストリームのタイリング、プログレッシブエンコーディング、または圧縮が行われ、該当するアクセス用メソッドは IllegalStateException をスローします。

これはすべての機能のデフォルトモードなので、メタデータを含む読み込みに続いてメタデータを含む書き込みを行うと、可能なかぎり多くの情報が保存されます。

関連項目:
MODE_DISABLED, MODE_EXPLICIT, MODE_DEFAULT, setProgressiveMode(int), getProgressiveMode(), setTilingMode(int), getTilingMode(), setCompressionMode(int), getCompressionMode(), 定数フィールド値

canWriteTiles

protected boolean canWriteTiles
この ImageWriteParam でタイルの幅と高さのパラメータを設定できる場合に、true となる boolean です。デフォルト値は false です。サブクラスでは、値を手動で設定する必要があります。

タイルの書き込みをサポートしないサブクラスでは、この値を false に設定する必要があります。


tilingMode

protected int tilingMode
タイリング設定を制御するモードで、4 つの MODE_* 値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA です。

タイルの書き込みを行わないサブクラスでは、この値を無視できます。

関連項目:
MODE_DISABLED, MODE_EXPLICIT, MODE_COPY_FROM_METADATA, MODE_DEFAULT, setTilingMode(int), getTilingMode()

preferredTileSizes

protected Dimension[] preferredTileSizes
適切なタイルサイズの範囲ペアの配列です。デフォルト値は null で、これは適切なサイズがないことを示します。値が null でない場合、2 以上の同じ長さを持つ必要があります。

タイルの書き込みをサポートしないサブクラスでは、この値を無視できます。

関連項目:
getPreferredTileSizes()

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 です。

プログレッシブエンコーディングをサポートしないサブクラスでは、この値を無視できます。

関連項目:
MODE_DISABLED, MODE_EXPLICIT, MODE_COPY_FROM_METADATA, MODE_DEFAULT, setProgressiveMode(int), getProgressiveMode()

canWriteCompressed

protected boolean canWriteCompressed
この書き込み側が、圧縮を使用してイメージを書き込みできる場合に、true となる boolean です。デフォルト値は false です。サブクラスでは、値を手動で設定する必要があります。

圧縮をサポートしないサブクラスでは、この値は false に設定する必要があります。


compressionMode

protected int compressionMode
圧縮設定を制御するモードで、4 つの MODE_* 値の 1 つに設定する必要があります。デフォルトは MODE_COPY_FROM_METADATA です。

圧縮をサポートしないサブクラスでは、この値を無視できます。

関連項目:
MODE_DISABLED, MODE_EXPLICIT, MODE_COPY_FROM_METADATA, MODE_DEFAULT, setCompressionMode(int), getCompressionMode()

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 を返す場合、setTilingUnsupportedOperationException をスローします。

戻り値:
書き込み側がタイリングをサポートする場合は true
関連項目:
canOffsetTiles(), setTiling(int, int, int, int)

canOffsetTiles

public boolean canOffsetTiles()
ライターが書き込み中に 0 以外のグリッド座標でタイリングを実行できる場合に、true を返します。このメソッドが false を返す場合、グリッド座標の引数がどちらも 0 でないとき、setTilingUnsupportedOperationException をスローします。canWriteTilesfalse を返す場合、このメソッドも false を返します。

戻り値:
書き込み側が 0 以外のタイル座標をサポートする場合は true
関連項目:
canWriteTiles(), setTiling(int, int, int, int)

setTilingMode

public void setTilingMode(int mode)
イメージを出力ストリーム中にタイリングするか、またタイリングする場合には、タイリングパラメータの指定方法を指定します。モードは以下のように解釈されます。

パラメータ:
mode - タイリングに使用するメソッド
例外:
UnsupportedOperationException - canWriteTilesfalse を返す場合
IllegalArgumentException - mode が上記のモードのどれでもない場合
関連項目:
setTiling(int, int, int, int), getTilingMode()

getTilingMode

public int getTilingMode()
タイリングがサポートされている場合、現在のタイリングモードを返します。サポートされていない場合は、UnsupportedOperationException をスローします。

戻り値:
現在のタイリングモード
例外:
UnsupportedOperationException - canWriteTilesfalse を返す場合
関連項目:
setTilingMode(int)

getPreferredTileSizes

public Dimension[] getPreferredTileSizes()
タイルが出力ファイルまたはストリームで符号化されるとき、タイルの正規のサイズ範囲を示す Dimension の配列を返します。返された配列はコピーです。

情報はペアで返されます。ペアの最初の要素には、包括的な最小の幅と高さが、次の要素には包括的な最大の幅と高さが含まれます。あわせて、各ペアはサイズの有効範囲を定義します。固定サイズを指定するには、両方の要素に同じ幅と高さを使用します。任意の範囲を指定するには、Dimension の実際の配列の代わりに null の値が使用されます。

コンストラクタに配列が指定されなくてもタイリングが使用できる場合、このメソッドは null を返します。

戻り値:
2 以上の同じ長さを持つ Dimension の配列、または null
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合

setTiling

public void setTiling(int tileWidth,
                      int tileHeight,
                      int tileGridXOffset,
                      int tileGridYOffset)
イメージが出力ストリーム内でタイリングされるよう指定します。tileWidthtileHeight パラメータは、ファイル内のタイルの幅と高さを指定します。タイルの幅または高さがイメージの幅または高さよりも大きい場合、イメージはその範囲内にタイリングされません。

canOffsetTilesfalse を返す場合、tileGridXOffsettileGridYOffset パラメータは 0 になります。

パラメータ:
tileWidth - 各タイルの幅
tileHeight - 各タイルの高さ
tileGridXOffset - タイルグリッドの水平座標
tileGridYOffset - タイルグリッドの垂直座標
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
UnsupportedOperationException - プラグインがグリッド座標をサポートせず、グリッド座標がどちらも 0 でない場合
IllegalArgumentException - タイルサイズが getPreferredTileSizes が返した使用可能な範囲内にない場合
IllegalArgumentException - tileWidth または tileHeight が 0 以下の場合
関連項目:
canWriteTiles, canOffsetTiles, getTileWidth(), getTileHeight(), getTileGridXOffset(), getTileGridYOffset()

unsetTiling

public void unsetTiling()
setTiling への呼び出しで指定される、以前のタイルグリッドパラメータをすべて削除します。

デフォルト実装では、インスタンス変数 tileWidthtileHeighttileGridXOffsettileGridYOffset0 に設定します。

例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
関連項目:
setTiling(int, int, int, int)

getTileWidth

public int getTileWidth()
イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの幅を返します。タイリングパラメータが設定されていない場合、IllegalStateException がスローされます。

戻り値:
符号化に使用されるタイルの幅
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
IllegalStateException - タイリングパラメータが設定されていない場合
関連項目:
setTiling(int, int, int, int), getTileHeight()

getTileHeight

public int getTileHeight()
イメージが出力ストリームに書き込まれるとき、イメージ内の各タイルの高さを返します。タイリングパラメータが設定されていない場合、IllegalStateException がスローされます。

戻り値:
符号化に使用されるタイルの高さ
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
IllegalStateException - タイリングパラメータが設定されていない場合
関連項目:
setTiling(int, int, int, int), getTileWidth()

getTileGridXOffset

public int getTileGridXOffset()
イメージが出力ストリームに書き込まれるとき、イメージの水平タイルグリッド座標を返します。タイリングパラメータが設定されていない場合、IllegalStateException がスローされます。

戻り値:
符号化に使用されるタイルグリッド X 座標
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
IllegalStateException - タイリングパラメータが設定されていない場合
関連項目:
setTiling(int, int, int, int), getTileGridYOffset()

getTileGridYOffset

public int getTileGridYOffset()
イメージが出力ストリームに書き込まれるとき、イメージの垂直タイルグリッド座標を返します。タイリングパラメータが設定されていない場合、IllegalStateException がスローされます。

戻り値:
符号化に使用されるタイルグリッド Y 座標
例外:
UnsupportedOperationException - プラグインがタイリングをサポートしない場合
IllegalStateException - タイリングモードが MODE_EXPLICIT でない場合
IllegalStateException - タイリングパラメータが設定されていない場合
関連項目:
setTiling(int, int, int, int), getTileGridXOffset()

canWriteProgressive

public boolean canWriteProgressive()
品質を段階的に向上させる一連のパスとして、書き込み側が出力イメージを書き出すことができる場合に true を返します。

戻り値:
書き込み側がプログレッシブエンコーディングをサポートする場合は true
関連項目:
setProgressiveMode(int), getProgressiveMode()

setProgressiveMode

public void setProgressiveMode(int mode)
品質を向上させる一連のスキャンがストリームに含まれるようなプログレッシブモードで、書き込み側がイメージを書き出すことを指定します。段階的な符号化がサポートされていない場合、UnsupportedOperationException がスローされます。

モード引数は、プログレッションパラメータの選択方法を指定し、MODE_DISABLEDMODE_COPY_FROM_METADATAMODE_DEFAULT のどちらかである必要があります。その他の場合は、IllegalArgumentException がスローされます。

モードは、以下のように解釈されます。

デフォルトは MODE_COPY_FROM_METADATA です。

パラメータ:
mode - 出力ストリーム内でプログレッションを設定するためのモード
例外:
UnsupportedOperationException - 書き込み側がプログレッシブエンコーディングをサポートしない場合
IllegalArgumentException - mode が上記のモードのどれでもない場合
関連項目:
getProgressiveMode()

getProgressiveMode

public int getProgressiveMode()
プログレッシブ方式でストリームを書き込むための、現在のモードを返します。

戻り値:
プログレッシブエンコーディングのための現在のモード
例外:
UnsupportedOperationException - 書き込み側がプログレッシブエンコーディングをサポートしない場合
関連項目:
setProgressiveMode(int)

canWriteCompressed

public boolean canWriteCompressed()
この書き込み側が圧縮をサポートする場合、true を返します。

戻り値:
書き込み側が圧縮をサポートする場合は true

setCompressionMode

public void setCompressionMode(int mode)
圧縮を実行するかどうかを指定し、実行する場合は、圧縮パラメータの指定方法を決定します。mode 引数は、以下のように解釈される 4 つのモードのうちの 1 つである必要があります。

デフォルトは MODE_COPY_FROM_METADATA です。

パラメータ:
mode - 出力ストリーム内で圧縮を設定するためのモード
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合、または要求されたモードをサポートしない場合
IllegalArgumentException - mode が上記のモードのどれでもない場合
関連項目:
getCompressionMode()

getCompressionMode

public int getCompressionMode()
圧縮がサポートされる場合、現在の圧縮モードを返します。

戻り値:
現在の圧縮モード
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合
関連項目:
setCompressionMode(int)

getCompressionTypes

public String[] getCompressionTypes()
使用可能な圧縮方式のリストを配列または String として返し、これらのインタフェースを使用して圧縮方式を選択できない場合に null を返します。

書き込み側が、規定の圧縮方式を 1 つだけ提供する場合、圧縮方式を指定する必要はありません。圧縮方式を指定する必要があるのは、ユーザが異なるスキーマ間で意味のある選択ができる場合だけです。

デフォルト実装では、圧縮がサポートされているかを調べ、実装されていない場合は UnsupportedOperationException をスローします。実装されている場合は、compressionTypes インスタンス変数のコピーを返し、この変数が null のときは null を返します。

戻り値:
使用可能な圧縮方式で、地域対応されていない名前を含む String の配列、または null
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合

setCompressionType

public void setCompressionType(String compressionType)
getCompressionTypes で示される値の 1 つに圧縮方式を設定します。null の値が渡される場合、以前の設定はすべて削除されます。

デフォルト実装では、圧縮がサポートされているか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、getCompressionTypes を呼び出し、compressionType が正規の値の 1 つであるかを調べます。正規の値の場合、compressionType インスタンス変数が設定されます。compressionTypenull の場合、インスタンス変数はチェックを実行せずに設定されます。

パラメータ:
compressionType - getCompressionTypes が返した String の 1 つ、または以前の設定をすべて削除するための null
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合
UnsupportedOperationException - 設定可能な圧縮方式がない場合
IllegalArgumentException - compressionTypenull でなく、getCompressionTypes が返した値の 1 つでもない場合
関連項目:
getCompressionTypes(), getCompressionType(), unsetCompression()

getCompressionType

public String getCompressionType()
現在設定された圧縮方式を返すか、何も設定されていない場合は null を返します。方式は、getCompressionTypes が返した中から String として返されます。圧縮方式が設定されていない場合、null を返します。

デフォルト実装では、圧縮がサポートされているか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、compressionType インスタンス変数の値を返します。

戻り値:
現在の圧縮方式として String、方式が設定されていない場合は null
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合
関連項目:
setCompressionType(java.lang.String)

unsetCompression

public void unsetCompression()
以前の圧縮方式と品質設定をすべて削除します。

デフォルト実装では、インスタンス変数 compressionTypenull に、インスタンス変数 compressionQuality1.0F に設定します。

例外:
UnsupportedOperationException - プラグインが圧縮をサポートしない場合
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合
関連項目:
setCompressionType(java.lang.String), setCompressionQuality(float)

getLocalizedCompressionTypeName

public String getLocalizedCompressionTypeName()
getLocale が返した Locale を使用して、現在の圧縮方式の地域対応された名前を返します。

デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、compressionTypenull でないとき、便宜上 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 を返す、あるいは compressionTypenull でないとき、compressionQuality インスタンス変数を設定します。

パラメータ:
quality - 希望する品質レベルを示す 0 から 1 までの float
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合
IllegalStateException - 正規の圧縮方式のセットが null でなく、現在の圧縮方式が null の場合
IllegalArgumentException - quality0 未満、または 1 より大きい場合
関連項目:
getCompressionQuality()

getCompressionQuality

public float getCompressionQuality()
現在の圧縮品質設定を返します。

複数の圧縮方式があり、そのいずれも設定されていない場合、IllegalStateException がスローされます。

デフォルト実装では、圧縮がサポートされるか、圧縮モードが MODE_EXPLICIT であるかを調べます。これに当てはまる場合、getCompressionTypes()null、あるいは getCompressionType()null でないとき、compressionQuality インスタンス変数を返します。

戻り値:
現在の圧縮品質設定
例外:
UnsupportedOperationException - 書き込み側が圧縮をサポートしない場合
IllegalStateException - 圧縮モードが MODE_EXPLICIT でない場合
IllegalStateException - 正規の圧縮方式のセットが null でなく、現在の圧縮方式が null の場合
関連項目:
setCompressionQuality(float)

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 - quality0 未満、または 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()

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

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。