JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio
クラス ImageWriter

java.lang.Object
  上位を拡張 javax.imageio.ImageWriter
すべての実装されたインタフェース:
ImageTranscoder

public abstract class ImageWriter
extends Object
implements ImageTranscoder

符号化とイメージの書き込みのための、抽象スーパークラスです。Java Image I/O フレームワークのコンテキスト内で、イメージを書き出すクラスが、このクラスをサブクラス化する必要があります。

ImageWriter オブジェクトは通常、特定形式のためのサービスプロバイダクラスによりインスタンス化されます。サービスプロバイダクラスは IIORegistry に登録され、形式を識別し、使用可能な形式の読み込み側と書き込み側を提示するために使用されます。

関連項目:
ImageReader, ImageWriteParam, IIORegistry, ImageWriterSpi

フィールドの概要
protected  Locale[] availableLocales
          警告メッセージと圧縮設定値を地域対応にするために使用できる Locale の配列、または地域対応化をサポートしない場合 null になります。
protected  Locale locale
          地域対応化に使用される現在の Locale、または何も設定されていない場合 null になります。
protected  ImageWriterSpi originatingProvider
          このオブジェクトをインスタンス化した ImageWriterSpi、あるいはその識別情報が存在しない、またはわからない場合、null になります。
protected  Object output
          ImageOutputStream または setOutput が設定して、getOutput が取り出した他の Object です。
protected  List<IIOWriteProgressListener> progressListeners
          現在登録された IIOWriteProgressListenerList で、デフォルトでは null に初期化され、空の List と同じ意味になります。
protected  List<IIOWriteWarningListener> warningListeners
          現在登録された IIOWriteWarningListenerList で、デフォルトでは null に初期化され、空の List と同じ意味になります。
protected  List<Locale> warningLocales
          warningListeners の各要素に対する LocaleList で、デフォルトでは null に初期化され、空の List と同じ意味になります。
 
コンストラクタの概要
protected ImageWriter(ImageWriterSpi originatingProvider)
          ImageWriter を構築し、その originatingProvider インスタンス変数を、提供された値に設定します。
 
メソッドの概要
 void abort()
          現在の、任意の書き込み操作の中止を要求します。
protected  boolean abortRequested()
          書き込み側がインスタンス化された、または clearAbortRequest が呼び出されたために、現在の書き込み操作の中止要求が出された場合、true を返します。
 void addIIOWriteProgressListener(IIOWriteProgressListener listener)
          登録された進捗リスナーのリストに IIOWriteProgressListener を追加します。
 void addIIOWriteWarningListener(IIOWriteWarningListener listener)
          登録された警告リスナーのリストに IIOWriteWarningListener を追加します。
 boolean canInsertEmpty(int imageIndex)
          指定されたインデックスでの新規の空イメージの挿入を書き込み側がサポートする場合、true を返します。
 boolean canInsertImage(int imageIndex)
          指定されたインデックスでの新規イメージの挿入を書き込み側がサポートする場合、true を返します。
 boolean canRemoveImage(int imageIndex)
          書き込み側が、指定されたインデックスでの既存イメージの削除をサポートする場合、true を返します。
 boolean canReplaceImageMetadata(int imageIndex)
          既存のイメージに関連付けられたイメージメタデータを、インデックス imageIndex に置き換えることができる場合、true を返します。
 boolean canReplacePixels(int imageIndex)
          書き込み側で、replacePixels メソッドを使用して、指定されたイメージのピクセルの置き換えを許可する場合、true を返します。
 boolean canReplaceStreamMetadata()
          すでに出力に存在するストリームメタデータを置き換えられる場合、true を返します。
 boolean canWriteEmpty()
          未定義のピクセル値を持つ 1 つのイメージと、関連付けられたメタデータとサムネイルから成る、完全なイメージストリームの出力への書き込みを、書き込み側がサポートする場合、true を返します。
 boolean canWriteRasters()
          IIOImage パラメータを取るメソッドが、(RenderedImage に対して) Raster ソースイメージを処理できる場合、true を返します。
 boolean canWriteSequence()
          すでにヘッダ情報を含み、以前のイメージである可能性を持つイメージストリームに、書き込み側がイメージを追加できる場合、true を返します。
protected  void clearAbortRequest()
          以前の中断要求をクリアします。
abstract  IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
          符号化に使用でき、必要に応じて、ドキュメントインタフェースまたは符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。
abstract  IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
          符号化に使用でき、必要に応じて、ドキュメントインタフェース、または符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。
 void dispose()
          このオブジェクトが保持するすべてのリソースを解放できるようにします。
 void endInsertEmpty()
          以前の prepareInsertEmpty の呼び出しで始まった、新規イメージの挿入を完了します。
 void endReplacePixels()
          replacePixels の呼び出し処理を終了します。
 void endWriteEmpty()
          以前の prepareWriteEmpty の呼び出しで始まった、新規イメージの書き込みを完了します。
 void endWriteSequence()
          prepareWriteSequence で始まる一連のイメージの書き込みを完了します。
 Locale[] getAvailableLocales()
          警告リスナーと圧縮設定の地域対応化のために使用する Locale の配列を返します。
abstract  IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param)
          指定された型のイメージを符号化するためのデフォルト値を含む IIOMetadata オブジェクトを返します。
abstract  IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
          イメージのストリームを符号化するためのデフォルト値を含む IIOMetadata オブジェクトを返します。
 ImageWriteParam getDefaultWriteParam()
          デフォルト値、つまり ImageWriteParam オブジェクトが指定されなかった場合に使用される値を含む、このファイル形式に適切な型の新規 ImageWriteParam オブジェクトを返します。
 Locale getLocale()
          現在設定されている Locale、何も設定されていない場合は null を返します。
 int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
          符号化中に使用されるメタデータオブジェクトと任意の追加書き込みパラメータ、およびイメージ型が与えられ、書き込まれている形式でサポートされるサムネイル数を返します。
 ImageWriterSpi getOriginatingProvider()
          この ImageWriter を作成した ImageWriterSpi オブジェクト、またはこのオブジェクトが IIORegistry を介して作成されなかった場合 null を返します。
 Object getOutput()
          ImageOutputStream または setOutput メソッドの最近の呼び出しで設定された他の Object を返します。
 Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType, ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata)
          サムネイルイメージが出力ファイルまたはストリーム中で符号化されるとき、その正規サイズの範囲を示す Dimension の配列を返します。
 void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
          未定義のピクセル値を持つ新規イメージの、既存イメージストリームへの挿入を開始します。
 void prepareReplacePixels(int imageIndex, Rectangle region)
          replacePixels メソッドの一連の呼び出しを処理するために、書き込み側を準備します。
 void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType, int width, int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails, ImageWriteParam param)
          未定義のピクセル値を持つ 1 つのイメージと、関連付けられたメタデータとサムネイルから成る、完全なイメージストリームの出力への書き込みを開始します。
 void prepareWriteSequence(IIOMetadata streamMetadata)
          次に続く一連の writeToSequence 呼び出しを受け付けるために、提供されるストリームメタデータオブジェクトを使用して、ストリームを準備します。
protected  void processImageComplete()
          登録されたすべての IIOWriteProgressListener へのイメージ書き込みの完了を、その imageComplete メソッドを呼び出すことで通知します。
protected  void processImageProgress(float percentageDone)
          登録されたすべての IIOWriteProgressListener へのイメージ補完の現在の割合を、その imageProgress メソッドを呼び出すことで通知します。
protected  void processImageStarted(int imageIndex)
          登録されたすべての IIOWriteProgressListener へのイメージ書き込みの開始を、その imageStarted メソッドを呼び出すことで、通知します。
protected  void processThumbnailComplete()
          登録されたすべての IIOWriteProgressListener へのサムネイル書き込みの完了を、その thumbnailComplete メソッドを呼び出すことで通知します。
protected  void processThumbnailProgress(float percentageDone)
          登録されたすべての IIOWriteProgressListener へのサムネイル補完の現在の割合を、その thumbnailProgress メソッドを呼び出すことで通知します。
protected  void processThumbnailStarted(int imageIndex, int thumbnailIndex)
          登録されたすべての IIOWriteProgressListener へのサムネイル書き込みの開始を、その thumbnailStarted メソッドを呼び出すことで通知します。
protected  void processWarningOccurred(int imageIndex, String warning)
          登録されたすべての IIOWriteWarningListener への警告メッセージを、その warningOccurred メソッドを呼び出すことで通知します。
protected  void processWarningOccurred(int imageIndex, String baseName, String keyword)
          登録されたすべての IIOWriteWarningListener への地域対応された警告メッセージを、その warningOccurred メソッドを呼び出すことで、ResourceBundle から取得した文字列を使用して通知します。
protected  void processWriteAborted()
          登録されたすべての IIOWriteProgressListener への書き込みが中止されたことを、その writeAborted メソッドを呼び出すことで通知します。
 void removeAllIIOWriteProgressListeners()
          現在登録された IIOWriteProgressListener オブジェクトをすべて削除します。
 void removeAllIIOWriteWarningListeners()
          現在登録された IIOWriteWarningListener オブジェクトをすべて削除します。
 void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
          登録された進捗リスナーのリストから、IIOWriteProgressListener を削除します。
 void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
          登録された警告リスナーのリストから、IIOWriteWarningListener を削除します。
 void removeImage(int imageIndex)
          ストリームからイメージを削除します。
 void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata)
          既存イメージに関連付けられたイメージメタデータを置き換えます。
 void replacePixels(Raster raster, ImageWriteParam param)
          すでに出力中にあるイメージの一部を、指定された Raster の一部に置き換えます。
 void replacePixels(RenderedImage image, ImageWriteParam param)
          すでに、出力中にあるイメージの一部を、指定されたイメージの一部に置き換えます。
 void replaceStreamMetadata(IIOMetadata streamMetadata)
          出力中のストリームメタデータを新規情報に置き換えます。
 void reset()
          ImageWriter を初期状態に復元します。
 void setLocale(Locale locale)
          この ImageWriter の現在の Locale を、指定された値に設定します。
 void setOutput(Object output)
          出力先を、指定された ImageOutputStream または他の Object に設定します。
 void write(IIOImage image)
          デフォルトメタデータとサムネイルの付いた、1 つのイメージを含む、完全なイメージストリームを出力に追加します。
abstract  void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
          1 つのイメージ、関連付けられたストリームとイメージメタデータ、およびサムネイルを含む完全なイメージストリームを出力に追加します。
 void write(RenderedImage image)
          デフォルトメタデータとサムネイルの付いた 1 つのイメージから成る、完全なイメージストリームを出力に追加します。
 void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)
          既存イメージストリームに新規イメージを挿入します。
 void writeToSequence(IIOImage image, ImageWriteParam param)
          1 つのイメージと、関連付けられる可能性のあるメタデータとサムネイルを、出力に追加します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

originatingProvider

protected ImageWriterSpi originatingProvider
このオブジェクトをインスタンス化した ImageWriterSpi、あるいはその識別情報が存在しない、またはわからない場合、null になります。デフォルトでは、null に初期化されます。


output

protected Object output
ImageOutputStream または setOutput が設定して、getOutput が取り出した他の Object です。デフォルトでは、null に初期化されます。


availableLocales

protected Locale[] availableLocales
警告メッセージと圧縮設定値を地域対応にするために使用できる Locale の配列、または地域対応化をサポートしない場合 null になります。デフォルトでは、null に初期化されます。


locale

protected Locale locale
地域対応化に使用される現在の Locale、または何も設定されていない場合 null になります。デフォルトでは、null に初期化されます。


warningListeners

protected List<IIOWriteWarningListener> warningListeners
現在登録された IIOWriteWarningListenerList で、デフォルトでは null に初期化され、空の List と同じ意味になります。


warningLocales

protected List<Locale> warningLocales
warningListeners の各要素に対する LocaleList で、デフォルトでは null に初期化され、空の List と同じ意味になります。


progressListeners

protected List<IIOWriteProgressListener> progressListeners
現在登録された IIOWriteProgressListenerList で、デフォルトでは null に初期化され、空の List と同じ意味になります。

コンストラクタの詳細

ImageWriter

protected ImageWriter(ImageWriterSpi originatingProvider)
ImageWriter を構築し、その originatingProvider インスタンス変数を、提供された値に設定します。

拡張機能を使用するサブクラスは、拡張オブジェクトを取り出すために、シグニチャー (ImageWriterSpi, Object) を持つコンストラクタを提供する必要があります。この拡張オブジェクトが適切でない場合、IllegalArgumentException をスローします。

パラメータ:
originatingProvider - このオブジェクトを構築する ImageWriterSpi、または null
メソッドの詳細

getOriginatingProvider

public ImageWriterSpi getOriginatingProvider()
この ImageWriter を作成した ImageWriterSpi オブジェクト、またはこのオブジェクトが IIORegistry を介して作成されなかった場合 null を返します。

デフォルト実装では、originatingProvider インスタンス変数の値を返します。

戻り値:
ImageWriterSpi、または null
関連項目:
ImageWriterSpi

setOutput

public void setOutput(Object output)
出力先を、指定された ImageOutputStream または他の Object に設定します。出力先はデータを受け取る準備ができていると見なされ、各書き込みの終了時にクローズされません。これにより、分散イメージアプリケーションは、1 つのネットワーク接続上に一連のイメージを送信できます。outputnull の場合、現在設定されている出力はすべて削除されます。

outputImageOutputStream の場合、writewriteToSequenceprepareWriteEmpty/endWriteEmpty メソッドの呼び出しは、既存のストリーム内容を保持します。writeInsertreplaceStreamMetadatareplaceImageMetadatareplacePixelsprepareInsertEmpty/endInsertEmptyendWriteSequence のような他の書き込みメソッドは、完全なストリーム内容の読み込み、書き込みができることを要求し、ストリームの任意の部分を変更できます。

ImageOutputStream 以外の一般の Object は、出力装置またはイメージングプロトコルと直接対話する書き込み側のために使用されます。書き込み側のサービスプロバイダの getOutputTypes メソッドにより、正規のクラスのセットが公示され、ほとんどの書き込み側が、ImageOutputStream だけを受け入れることを示すために、ImageOutputStream.class だけを含む 1 つの要素の配列を返します。

デフォルト実装では、発信プロバイダが公示したクラスの設定があれば、これに output を照らし合わせたあと、output インスタンス変数を output の値に設定します。

パラメータ:
output - ImageOutputStream または今後の書き込みに使用する他の Object
例外:
IllegalArgumentException - output が、発信サービスプロバイダの getOutputTypes メソッドによって返されたクラスの 1 つのインスタンスでない場合
関連項目:
getOutput()

getOutput

public Object getOutput()
ImageOutputStream または setOutput メソッドの最近の呼び出しで設定された他の Object を返します。出力先が設定されていない場合、null が返されます。

デフォルト実装では、output インスタンス変数の値を返します。

戻り値:
setOutput を使用して指定された Object、または null
関連項目:
setOutput(java.lang.Object)

getAvailableLocales

public Locale[] getAvailableLocales()
警告リスナーと圧縮設定の地域対応化のために使用する Locale の配列を返します。戻り値 null は、地域対応化がサポートされていないことを示します。

デフォルト実装は、それが null 以外の場合は availableLocales インスタンス変数の複製を返し、null の場合は null を返します。

戻り値:
setLocale の引数として使用する Locale の配列、または null

setLocale

public void setLocale(Locale locale)
この ImageWriter の現在の Locale を、指定された値に設定します。値 null は、以前の設定をすべて削除し、書き込み側が適切に地域対応にする必要があることを示します。

デフォルト実装では、localegetAvailableLocales が返した値と照らし合わせ、見つかれば locale インスタンス変数を設定します。localenull の場合、何のチェックもなしに、インスタンス変数は null に設定されます。

パラメータ:
locale - 目的の Locale または null
例外:
IllegalArgumentException - localenull ではないが、getAvailableLocales によって返された値の 1 つではない場合
関連項目:
getLocale()

getLocale

public Locale getLocale()
現在設定されている Locale、何も設定されていない場合は null を返します。

デフォルト実装では、locale インスタンス変数の値を返します。

戻り値:
現在の Locale または null
関連項目:
setLocale(java.util.Locale)

getDefaultWriteParam

public ImageWriteParam getDefaultWriteParam()
デフォルト値、つまり ImageWriteParam オブジェクトが指定されなかった場合に使用される値を含む、このファイル形式に適切な型の新規 ImageWriteParam オブジェクトを返します。これは、2、3 のパラメータだけを微調整するための起点として有効で、その他の場合はデフォルト設定のままにします。

デフォルト実装では、タイリング、プログレッシブエンコーディング、または圧縮を許可しない新規 ImageWriteParam オブジェクトを構築し、返します。現在の Locale (つまり、new ImageWriteParam(getLocale()) の呼び出しで取得するもの) で地域対応にされます。

個々のプラグインは、追加のオプション機能を使用可能にして、ImageWriteParam のインスタンスを返すことができます。あるいは、ImageWriteParam のプラグイン固有サブクラスのインスタンスを返すことができます。

戻り値:
デフォルト値を含む新規 ImageWriteParam オブジェクト

getDefaultStreamMetadata

public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
イメージのストリームを符号化するためのデフォルト値を含む IIOMetadata オブジェクトを返します。オブジェクトの内容は、IIOMetadata.getAsTree メソッドが返した XML ツリー構造、IIOMetadataController オブジェクト、またはプラグイン固有のインタフェース経由のどれかを使用して操作でき、その結果、データはストリームメタデータパラメータをとる write メソッドの 1 つに提供できます。

ストリームメタデータの構造に影響を与える場合のために、オプションの ImageWriteParam を提供できます。

指定された ImageWriteParam が、このライタによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

ストリームメタデータを使用しない書き込み側 (たとえば、1 つのイメージ形式のための書き込み側) は、null を返す必要があります。

パラメータ:
param - イメージの符号化に使用される ImageWriteParam、または null
戻り値:
IIOMetadata オブジェクト

getDefaultImageMetadata

public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType,
                                                    ImageWriteParam param)
指定された型のイメージを符号化するためのデフォルト値を含む IIOMetadata オブジェクトを返します。オブジェクトの内容は、IIOMetadata.getAsTree メソッドが返した XML ツリー構造、IIOMetadataController オブジェクト、またはプラグイン固有のインタフェース経由のどれかを使用して操作でき、その結果データは、ストリームメタデータパラメータをとる write メソッドの 1 つに提供できます。

イメージメタデータの構造に影響を与える場合のために、オプションの ImageWriteParam を提供できます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

パラメータ:
imageType - あとで書き込まれるイメージの形式を示す ImageTypeSpecifier
param - イメージの符号化に使用される ImageWriteParam、または null
戻り値:
IIOMetadata オブジェクト

convertStreamMetadata

public abstract IIOMetadata convertStreamMetadata(IIOMetadata inData,
                                                  ImageWriteParam param)
インタフェース ImageTranscoder の記述:
符号化に使用でき、必要に応じて、ドキュメントインタフェース、または符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。

ストリームメタデータの構造に影響を与えるような場合、オプションの code>ImageWriteParam を提供できます。

提供された ImageWriteParam に、書き込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。

定義:
インタフェース ImageTranscoder 内の convertStreamMetadata
パラメータ:
inData - ストリームメタデータを表し、返されたオブジェクトの状態の初期化に使用される IIOMetadata オブジェクト
param - イメージの符号化に使用される ImageWriteParam または null
戻り値:
IIOMetadata オブジェクトまたはプラグインがメタデータを符号化する機能を提供しない場合は null

convertImageMetadata

public abstract IIOMetadata convertImageMetadata(IIOMetadata inData,
                                                 ImageTypeSpecifier imageType,
                                                 ImageWriteParam param)
インタフェース ImageTranscoder の記述:
符号化に使用でき、必要に応じて、ドキュメントインタフェースまたは符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。

イメージメタデータの構造に影響を与えるような場合、オプションの ImageWriteParam を提供できます。

提供された ImageWriteParam に、書き込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。

定義:
インタフェース ImageTranscoder 内の convertImageMetadata
パラメータ:
inData - イメージメタデータを表し、戻されたオブジェクトの状態の初期化に使用される IIOMetadata オブジェクト
imageType - メタデータに関連付けられるメージの配置と配色情報を示す ImageTypeSpecifier
param - イメージの符号化に使用される ImageWriteParam または null
戻り値:
IIOMetadata オブジェクトまたはプラグインがメタデータを符号化する機能を提供しない場合は null

getNumThumbnailsSupported

public int getNumThumbnailsSupported(ImageTypeSpecifier imageType,
                                     ImageWriteParam param,
                                     IIOMetadata streamMetadata,
                                     IIOMetadata imageMetadata)
符号化中に使用されるメタデータオブジェクトと任意の追加書き込みパラメータ、およびイメージ型が与えられ、書き込まれている形式でサポートされるサムネイル数を返します。戻り値 -1 は、十分な情報を使用できないことを示します。

サムネイル処理に影響を与える場合のために、オプションとして ImageWriteParam を提供できます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

デフォルト実装は 0 を返します。

パラメータ:
imageType - 書き込まれるイメージ型を示す ImageTypeSpecifier、または null
param - 書き込みに使用される ImageWriteParam、または null
streamMetadata - 書き込みに使用される IIOMetadata オブジェクト、または null
imageMetadata - 書き込みに使用される IIOMetadata オブジェクト、または null
戻り値:
提供されたパラメータを与え、書き込むことのできるサムネイル数、または十分な情報を使用できない場合 -1

getPreferredThumbnailSizes

public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
                                              ImageWriteParam param,
                                              IIOMetadata streamMetadata,
                                              IIOMetadata imageMetadata)
サムネイルイメージが出力ファイルまたはストリーム中で符号化されるとき、その正規サイズの範囲を示す Dimension の配列を返します。この情報は単なる助言であり、書き込み側は、必要に応じて任意の提供されたサムネイルのサイズを変更できます。

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

サムネイル処理に影響を与える場合のために、オプションとして ImageWriteParam を提供できます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

デフォルト実装は null を返します。

パラメータ:
imageType - 書き込まれるイメージ型を示す ImageTypeSpecifier、または null
param - 書き込みに使用される ImageWriteParam、または null
streamMetadata - 書き込みに使用される IIOMetadata オブジェクト、または null
imageMetadata - 書き込みに使用される IIOMetadata オブジェクト、または null
戻り値:
2 以上の同じ長さを持つ Dimension の配列、または null

canWriteRasters

public boolean canWriteRasters()
IIOImage パラメータを取るメソッドが、(RenderedImage に対して) Raster ソースイメージを処理できる場合、true を返します。このメソッドが false を返す場合、これらのメソッドは、Raster を含む IIOImage が提供されるとき、 UnsupportedOperationException をスローします。

デフォルト実装は false を返します。

戻り値:
Raster ソースがサポートされる場合 true

write

public abstract void write(IIOMetadata streamMetadata,
                           IIOImage image,
                           ImageWriteParam param)
                    throws IOException
1 つのイメージ、関連付けられたストリームとイメージメタデータ、およびサムネイルを含む完全なイメージストリームを出力に追加します。任意で必要なヘッダ情報が含まれます。出力が ImageOutputStream の場合、現在のシーク位置以前の既存の内容は影響を受けず、読み込み可能または書き込み可能である必要はありません。

出力は、setOutput メソッド使用前に設定されている必要があります。

ストリームメタデータがオプションで提供され、null の場合、デフォルトのストリームメタデータが使用されます。

canWriteRasterstrue を返す場合、IIOImageRaster ソースを含むことができます。そうでない場合は、RenderedImage ソースを含む必要があります。

提供されるサムネイルは、必要であればサイズ変更され、サポートされる数を超過したサムネイルは、すべて無視されます。提供されない追加のサムネイルがその形式で必要な場合、書き込み側が内部で生成する必要があります。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

パラメータ:
streamMetadata - ストリームメタデータを表す IIOMetadata オブジェクト、またはデフォルト値を使用するための null
image - 書き込まれるイメージ、サムネイル、およびメタデータを含む code>IIOImage オブジェクト
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - imageRaster を含み、canWriteRastersfalse を返す場合
IllegalArgumentException - imagenull の場合
IOException - 書き込み中にエラーが発生した場合

write

public void write(IIOImage image)
           throws IOException
デフォルトメタデータとサムネイルの付いた、1 つのイメージを含む、完全なイメージストリームを出力に追加します。このメソッドは、write(null, image, null) の短縮形です。

パラメータ:
image - 書き込まれるイメージ、サムネイル、およびメタデータを含む code>IIOImage オブジェクト
例外:
IllegalStateException - 出力が設定されていない場合
IllegalArgumentException - imagenull の場合
UnsupportedOperationException - imageRaster を含み、canWriteRastersfalse を返す場合
IOException - 書き込み中にエラーが発生した場合

write

public void write(RenderedImage image)
           throws IOException
デフォルトメタデータとサムネイルの付いた 1 つのイメージから成る、完全なイメージストリームを出力に追加します。このメソッドは、write(null, new IIOImage(image, null, null), null) の短縮形です。

パラメータ:
image - 書き込まれる RenderedImage
例外:
IllegalStateException - 出力が設定されていない場合
IllegalArgumentException - imagenull の場合
IOException - 書き込み中にエラーが発生した場合

canWriteSequence

public boolean canWriteSequence()
すでにヘッダ情報を含み、以前のイメージである可能性を持つイメージストリームに、書き込み側がイメージを追加できる場合、true を返します。

canWriteSequencefalse を返す場合、writeToSequenceendWriteSequenceUnsupportedOperationException をスローします。

デフォルト実装は false を返します。

戻り値:
イメージを連続して追加できる場合 true

prepareWriteSequence

public void prepareWriteSequence(IIOMetadata streamMetadata)
                          throws IOException
次に続く一連の writeToSequence 呼び出しを受け付けるために、提供されるストリームメタデータオブジェクトを使用して、ストリームを準備します。メタデータがイメージデータに先行する必要がある場合、このメタデータはストリームに書き込まれます。引数が null の場合、デフォルトストリームメタデータが使用されます。

出力が ImageOutputStream の場合、現在のシーク位置以前の既存の出力内容はフラッシュされ、読み込み可能または書き込み可能である必要はありません。その形式において、1 つの TIFF ファイル内の一連のイメージのように、ヘッダ情報を補修するために endWriteSequence が巻き戻しできることを要求される場合、このメソッドで書き込まれるメタデータは、ストリームの書き込み可能部分に存在する必要があります。他の形式は、このメソッドと各イメージのあとで、ストリームをフラッシュできます。

canWriteSequencefalse を返す場合、このメソッドは UnsupportedOperationException をスローします。

出力は、両方の setOutput メソッド使用前に設定されている必要があります。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
streamMetadata - ストリームメタデータオブジェクト、または null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canWriteSequencefalse を返す場合
IOException - ストリームメタデータの書き込みでエラーが発生した場合

writeToSequence

public void writeToSequence(IIOImage image,
                            ImageWriteParam param)
                     throws IOException
1 つのイメージと、関連付けられる可能性のあるメタデータとサムネイルを、出力に追加します。出力が ImageOutputStream の場合、現在のシーク位置以前の既存の出力内容はフラッシュされ、endWriteSequence が呼び出される (たとえば TIFF) ときに、プラグインがヘッダ情報を補修できなくてもよければ、読み込み可能または書き込み可能である必要はありません。

canWriteSequencefalse を返す場合、このメソッドは UnsupportedOperationException をスローします。

出力は、setOutput メソッド使用前に設定されている必要があります。

前もって prepareWriteSequence が呼び出されている必要があり、そうでない場合 IllegalStateException がスローされます。

canWriteRasterstrue を返す場合、IIOImageRaster ソースを含むことができます。そうでない場合は、RenderedImage ソースを含む必要があります。

提供されるサムネイルは、必要であればサイズ変更され、サポートされる数を超過したサムネイルは、すべて無視されます。提供されない追加のサムネイルがその形式で必要な場合は、書き込み側が内部で生成します。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
image - 書き込まれるイメージ、サムネイル、およびメタデータを含む code>IIOImage オブジェクト
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていなかったか、prepareWriteSequence が呼び出されていなかった場合
UnsupportedOperationException - canWriteSequencefalse を返す場合
IllegalArgumentException - imagenull の場合
UnsupportedOperationException - imageRaster を含み、canWriteRastersfalse を返す場合
IOException - 書き込み中にエラーが発生した場合

endWriteSequence

public void endWriteSequence()
                      throws IOException
prepareWriteSequence で始まる一連のイメージの書き込みを完了します。イメージの処理の最後に来るストリームメタデータはすべて書き出され、処理の最初のヘッダ情報は、必要であればすべて補修されます。出力が ImageOutputStream の場合、処理の最後でストリームメタデータを通過したデータはフラッシュされ、読み込み可能または書き込み可能である必要はありません。

canWriteSequencefalse を返す場合、このメソッドは UnsupportedOperationException をスローします。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

例外:
IllegalStateException - 出力が設定されていなかったか、prepareWriteSequence が呼び出されていなかった場合
UnsupportedOperationException - canWriteSequencefalse を返す場合
IOException - 書き込み中にエラーが発生した場合

canReplaceStreamMetadata

public boolean canReplaceStreamMetadata()
                                 throws IOException
すでに出力に存在するストリームメタデータを置き換えられる場合、true を返します。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、false を返します。

戻り値:
ストリームメタデータの置き換えが許可される場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IOException - 照会中に入出力エラーが発生した場合

replaceStreamMetadata

public void replaceStreamMetadata(IIOMetadata streamMetadata)
                           throws IOException
出力中のストリームメタデータを新規情報に置き換えます。出力が ImageOutputStream の場合、以前のストリーム内容が調べられ、可能なかぎり編集されて、新規データのための場所を作ります。以前の出力内容はすべて、読み込みと書き込みのために使用できる必要があります。

canReplaceStreamMetadatafalse を返す場合、UnsupportedOperationException がスローされます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
streamMetadata - ストリームメタデータを表す IIOMetadata オブジェクト、またはデフォルト値を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canReplaceStreamMetadatafalse を返す場合、モードは含まない
IOException - 書き込み中にエラーが発生した場合

canReplaceImageMetadata

public boolean canReplaceImageMetadata(int imageIndex)
                                throws IOException
既存のイメージに関連付けられたイメージメタデータを、インデックス imageIndex に置き換えることができる場合、true を返します。このメソッドが false を返す場合、replaceImageMetadata(imageIndex) の呼び出しは UnsupportedOperationException をスローします。

どんなイメージメタデータの置き換えもサポートしない書き込み側は、インデックス上での範囲のチェックを実行せずに false を返すことができます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、imageIndex の値をチェックせずに false を返します。

パラメータ:
imageIndex - メタデータが置き換えられるイメージのインデックス
戻り値:
指定されたイメージのイメージメタデータが置き換えできる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IndexOutOfBoundsException - 一般に、書き込み側がイメージメタデータの置き換えをサポートし、imageIndex が 0 未満、または使用可能な最大のインデックスより大きい場合
IOException - 照会中に入出力エラーが発生した場合

replaceImageMetadata

public void replaceImageMetadata(int imageIndex,
                                 IIOMetadata imageMetadata)
                          throws IOException
既存イメージに関連付けられたイメージメタデータを置き換えます。

canReplaceImageMetadata(imageIndex)false を返す場合、UnsupportedOperationException がスローされます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
imageIndex - メタデータが置き換えられるイメージのインデックス
imageMetadata - イメージメタデータを表す IIOMetadata オブジェクト、または null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canReplaceImageMetadatafalse を返す場合
IndexOutOfBoundsException - imageIndex が 0 未満、または使用可能な最大インデックスより大きい場合
IOException - 書き込み中にエラーが発生した場合

canInsertImage

public boolean canInsertImage(int imageIndex)
                       throws IOException
指定されたインデックスでの新規イメージの挿入を書き込み側がサポートする場合、true を返します。挿入インデックス以上のインデックスを持つ既存イメージは、自らのインデックスに 1 を加えます。imageIndex の値 -1 は、現在の最大インデックスより 1 大きいインデックスを表すために使用できます。

どんなイメージ挿入もサポートしない書き込み側は、インデックス上での範囲チェックを実行せずに false を返すことができます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、imageIndex の値をチェックせずに false を返します。

パラメータ:
imageIndex - イメージが挿入されるインデックス
戻り値:
指定されたインデックスでイメージを挿入できる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IndexOutOfBoundsException - 一般に、書き込み側がイメージ挿入をサポートし、imageIndex が -1 未満、または使用可能な最大インデックスより大きい場合
IOException - 照会中に入出力エラーが発生した場合

writeInsert

public void writeInsert(int imageIndex,
                        IIOImage image,
                        ImageWriteParam param)
                 throws IOException
既存イメージストリームに新規イメージを挿入します。imageIndex より大きいインデックスを持つ既存イメージが保持され、そのインデックスには、それぞれ 1 が加えられます。imageIndex の値 -1 は、以前の最大インデックスより 1 大きいインデックスを表すために使用できます。つまり、これにより、イメージが論理的に、処理の最後に追加されます。出力が ImageOutputStream の場合、ストリーム全体は、読み込み可能と書き込み可能の両方である必要があります。

canInsertImage(imageIndex)false を返す場合、UnsupportedOperationException がスローされます。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
imageIndex - イメージが書き込まれるインデックス
image - 書き込まれるイメージ、サムネイル、およびメタデータを含む code>IIOImage オブジェクト
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canInsertImage(imageIndex)false を返す場合
IllegalArgumentException - imagenull の場合
IndexOutOfBoundsException - imageIndex が -1 未満、または使用可能な最大インデックスより大きい場合
UnsupportedOperationException - imageRaster を含み、canWriteRastersfalse を返す場合
IOException - 書き込み中にエラーが発生した場合

canRemoveImage

public boolean canRemoveImage(int imageIndex)
                       throws IOException
書き込み側が、指定されたインデックスでの既存イメージの削除をサポートする場合、true を返します。挿入インデックスより大きいインデックスを持つ既存イメージは、自らのインデックスから 1 を引きます。

どんなイメージ削除もサポートしない書き込み側は、インデックス上での範囲チェックを実行せずに false を返すことができます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、imageIndex の値をチェックせずに false を返します。

パラメータ:
imageIndex - 削除されるイメージのインデックス
戻り値:
指定されたイメージを削除できる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IndexOutOfBoundsException - 書き込み側がイメージ削除を一般にサポートし、imageIndex が 0 未満、または使用可能な最大インデックスより大きい場合
IOException - 照会中に入出力エラーが発生した場合

removeImage

public void removeImage(int imageIndex)
                 throws IOException
ストリームからイメージを削除します。

canRemoveImage(imageIndex) が false を返す場合、UnsupportedOperationException がスローされます。

削除により、実際のファイルサイズが縮小される場合とされない場合があります。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
imageIndex - 削除されるイメージのインデックス
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canRemoveImage(imageIndex)false を返す場合
IndexOutOfBoundsException - imageIndex が 0 未満、または使用可能な最大インデックスより大きい場合
IOException - 削除中に入出力エラーが発生した場合

canWriteEmpty

public boolean canWriteEmpty()
                      throws IOException
未定義のピクセル値を持つ 1 つのイメージと、関連付けられたメタデータとサムネイルから成る、完全なイメージストリームの出力への書き込みを、書き込み側がサポートする場合、true を返します。ピクセル値は、replacePixels メソッドの今後の呼び出しで定義できます。出力が ImageOutputStream の場合、現在のシーク位置以前の既存内容は影響を受けず、読み込み可能または書き込み可能である必要はありません。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、false を返します。

戻り値:
あとで定義される内容を持つ完全なイメージストリームの書き込みがサポートされる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IOException - 照会中に入出力エラーが発生した場合

prepareWriteEmpty

public void prepareWriteEmpty(IIOMetadata streamMetadata,
                              ImageTypeSpecifier imageType,
                              int width,
                              int height,
                              IIOMetadata imageMetadata,
                              List<? extends BufferedImage> thumbnails,
                              ImageWriteParam param)
                       throws IOException
未定義のピクセル値を持つ 1 つのイメージと、関連付けられたメタデータとサムネイルから成る、完全なイメージストリームの出力への書き込みを開始します。ピクセル値は、replacePixels メソッドの今後の呼び出しで定義されます。出力が ImageOutputStream の場合、現在のシーク位置以前の既存内容は影響を受けず、読み込み可能または書き込み可能である必要はありません。

endWriteEmpty の呼び出しが発生するまで、書き込みは完全ではありません。prepareWriteEmptyendWriteEmpty の呼び出しの間に、prepareReplacePixelsreplacePixelsendReplacePixels の呼び出しが発生します。しかし、prepareWriteEmpty の呼び出しは入れ子にできず、prepareWriteEmptyprepareInsertEmpty の呼び出しは挿入できません。

canWriteEmptyfalse を返す場合、UnsupportedOperationException がスローされます。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
streamMetadata - ストリームメタデータを表す IIOMetadata オブジェクト、またはデフォルト値を使用するための null
imageType - イメージの配置を記述する ImageTypeSpecifier
width - イメージの幅
height - イメージの高さ
imageMetadata - イメージメタデータを表す IIOMetadata オブジェクト、または null
thumbnails - このイメージのための BufferedImage サムネイルの List、または null
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canWriteEmptyfalse を返す場合
IllegalStateException - 対応する endWriteEmpty の呼び出しなしに、先行する prepareWriteEmpty の呼び出しが生成された場合
IllegalStateException - 対応する endInsertEmpty の呼び出しなしに、先行する prepareInsertEmpty の呼び出しが生成された場合
IllegalArgumentException - imageTypenull、あるいは thumbnailsnull 参照、または BufferedImage 以外のオブジェクトを含む場合
IllegalArgumentException - 幅または高さが 1 より小さい場合
IOException - 書き込み中に入出力エラーが発生した場合

endWriteEmpty

public void endWriteEmpty()
                   throws IOException
以前の prepareWriteEmpty の呼び出しで始まった、新規イメージの書き込みを完了します。

canWriteEmpty()false を返す場合、UnsupportedOperationException がスローされます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canWriteEmpty(imageIndex)false を返す場合
IllegalStateException - 対応する endWriteEmpty の呼び出しなしで、先行する prepareWriteEmpty の呼び出しが生成されなかった場合
IllegalStateException - 対応する endInsertEmpty の呼び出しなしで、先行する prepareInsertEmpty の呼び出しが生成された場合
IllegalStateException - 対応する endReplacePixels の呼び出しなしに、先行する prepareReiplacePixels の呼び出しが生成された場合
IOException - 書き込み中に入出力エラーが発生した場合

canInsertEmpty

public boolean canInsertEmpty(int imageIndex)
                       throws IOException
指定されたインデックスでの新規の空イメージの挿入を書き込み側がサポートする場合、true を返します。イメージのピクセル値は未定義で、replacePixels メソッドを使用して細かく指定できます。挿入インデックス以上のインデックスを持つ既存イメージは、自らのインデックスに 1 を加えます。imageIndex の値 -1 は、現在の最大インデックスより 1 大きいインデックスを表すために使用できます。

空イメージの挿入をサポートしない書き込み側は、インデックス上での範囲チェックを実行せずに false を返すことができます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、imageIndex の値をチェックせずに false を返します。

パラメータ:
imageIndex - イメージが挿入されるインデックス
戻り値:
指定されたインデックスで空イメージを挿入できる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IndexOutOfBoundsException - 一般に、書き込み側が空イメージの挿入をサポートし、imageIndex が -1 未満、または使用可能な最大インデックスより大きい場合
IOException - 照会中に入出力エラーが発生した場合

prepareInsertEmpty

public void prepareInsertEmpty(int imageIndex,
                               ImageTypeSpecifier imageType,
                               int width,
                               int height,
                               IIOMetadata imageMetadata,
                               List<? extends BufferedImage> thumbnails,
                               ImageWriteParam param)
                        throws IOException
未定義のピクセル値を持つ新規イメージの、既存イメージストリームへの挿入を開始します。imageIndex より大きいインデックスを持つ既存イメージが保持され、そのインデックスには、それぞれ 1 が加えられます。imageIndex の値 -1 は、以前の最大インデックスより 1 大きいインデックスを表すために使用できます。つまり、これにより、イメージが論理的に処理の最後に追加されます。出力が ImageOutputStream の場合、ストリーム全体は、読み込み可能と書き込み可能の両方である必要があります。

イメージの内容は、replacePixels メソッドを使用してあとで提供できます。endInsertEmpty の呼び出しが発生するまで、挿入は完全ではありません。prepareReplacePixelsreplacePixelsendReplacePixels の呼び出しは、prepareInsertEmptyendInsertEmpty の呼び出しの間に発生します。しかし、prepareInsertEmpty の呼び出しは入れ子にできず、prepareWriteEmptyprepareInsertEmpty の呼び出しは挿入できません。

canInsertEmpty(imageIndex)false を返す場合、UnsupportedOperationException がスローされます。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
imageIndex - イメージが書き込まれるインデックス
imageType - イメージの配置を記述する ImageTypeSpecifier
width - イメージの幅
height - イメージの高さ
imageMetadata - イメージメタデータを表す IIOMetadata オブジェクト、または null
thumbnails - このイメージのための BufferedImage サムネイルの List、または null
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canInsertEmpty(imageIndex)false を返す場合
IndexOutOfBoundsException - imageIndex が -1 未満、または使用可能な最大インデックスより大きい場合
IllegalStateException - 対応する endInsertEmpty の呼び出しなしに、先行する prepareInsertEmpty の呼び出しが生成された場合
IllegalStateException - 対応する endWriteEmpty の呼び出しなしに、先行する prepareWriteEmpty の呼び出しが生成された場合
IllegalArgumentException - imageTypenull、あるいは thumbnailsnull 参照、または BufferedImage 以外のオブジェクトを含む場合
IllegalArgumentException - 幅または高さが 1 より小さい場合
IOException - 書き込み中に入出力エラーが発生した場合

endInsertEmpty

public void endInsertEmpty()
                    throws IOException
以前の prepareInsertEmpty の呼び出しで始まった、新規イメージの挿入を完了します。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canInsertEmpty(imageIndex)false を返す場合
IllegalStateException - 対応する endInsertEmpty の呼び出しなしで、先行する prepareInsertEmpty の呼び出しが生成されなかった場合
IllegalStateException - 対応する endWriteEmpty の呼び出しなしに、先行する prepareWriteEmpty の呼び出しが生成された場合
IllegalStateException - 対応する endReplacePixels の呼び出しなしに、prepareReplacePixels の呼び出しが生成された場合
IOException - 書き込み中に入出力エラーが発生した場合

canReplacePixels

public boolean canReplacePixels(int imageIndex)
                         throws IOException
書き込み側で、replacePixels メソッドを使用して、指定されたイメージのピクセルの置き換えを許可する場合、true を返します。

どんなピクセルの置き換えもサポートしない書き込み側は、インデックス上での範囲チェックを実行せずに false を返すことができます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、imageIndex の値をチェックせずに false を返します。

パラメータ:
imageIndex - ピクセルが置き換えられるイメージのインデックス
戻り値:
指定されたイメージのピクセルを置き換えできる場合 true
例外:
IllegalStateException - 出力が設定されていない場合
IndexOutOfBoundsException - 一般に、書き込み側がピクセルの置き換えをサポートし、imageIndex が 0 未満、または使用可能な最大インデックスより大きい場合
IOException - 照会中に入出力エラーが発生した場合

prepareReplacePixels

public void prepareReplacePixels(int imageIndex,
                                 Rectangle region)
                          throws IOException
replacePixels メソッドの一連の呼び出しを処理するために、書き込み側を準備します。影響を受けるピクセル領域は、提供された領域に対して切り抜かれます

canReplacePixelsfalse を返し、UnsupportedOperationException がスローされる場合です。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
imageIndex - ピクセルが置き換えられるイメージのインデックス
region - あとのピクセル範囲の切り抜きに使用される Rectangle
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canReplacePixels(imageIndex)false を返す場合
IndexOutOfBoundsException - imageIndex が 0 未満、または使用可能な最大インデックスより大きい場合
IllegalStateException - 対応する endReplacePixels の呼び出しなしに、先行する prepareReplacePixels の呼び出しがある (つまり、入れ子が許可されない) 場合
IllegalArgumentException - regionnull、または 1 未満の幅または高さを持つ場合
IOException - 準備中に入出力エラーが発生した場合

replacePixels

public void replacePixels(RenderedImage image,
                          ImageWriteParam param)
                   throws IOException
すでに、出力中にあるイメージの一部を、指定されたイメージの一部に置き換えます。イメージデータは、既存イメージのイメージ配置と一致する、または置き換えできる必要があります。

出力先範囲は param 引数で指定され、イメージ範囲に切り抜かれて、その範囲は prepareReplacePixels に提供されます。少なくともソースの 1 つのピクセルは、切り抜くことはできません。そうでない場合、例外がスローされます。

書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

メソッドは、prepareReplacePixels の呼び出し後にのみ呼び出すことができ、そうでない場合 IllegalStateException がスローされます。

出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

パラメータ:
image - ソースピクセルを含む RenderedImage
param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
例外:
IllegalStateException - 出力が設定されていない場合
UnsupportedOperationException - canReplacePixels(imageIndex)false を返す場合
IllegalStateException - 対応する endReplacePixels の呼び出しなしで、先行する prepareReplacePixels の呼び出しがない場合
IllegalArgumentException - 次のどれかが true の場合
  • imagenull の場合
  • paramnull の場合
  • 交差する領域にピクセルが 1 つも格納されていない場合
  • image のレイアウトが一致していないか、このライターでは既存のイメージのレイアウトに変換できない場合
    IOException - 書き込み中に入出力エラーが発生した場合

  • replacePixels

    public void replacePixels(Raster raster,
                              ImageWriteParam param)
                       throws IOException
    すでに出力中にあるイメージの一部を、指定された Raster の一部に置き換えます。イメージデータは、既存イメージのイメージ配置と一致する、または置き換えられる必要があります。

    書き込み処理を制御するために、ImageWriteParam をオプションで提供できます。paramnull の場合、デフォルトの書き込み param が使用されます。

    出力先範囲は param 引数で指定され、イメージ範囲に切り抜かれて、その範囲は prepareReplacePixels に提供されます。少なくともソースの 1 つのピクセルは、切り抜くことはできません。そうでない場合、例外がスローされます。

    指定された ImageWriteParam が、このライターによってサポートされないオプションの設定値 (プログレッシブエンコーディングまたは任意の形式別設定など) を保持する場合、これらは無視されます。

    メソッドは、prepareReplacePixels の呼び出し後にのみ呼び出すことができ、そうでない場合 IllegalStateException がスローされます。

    出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

    パラメータ:
    raster - ソースピクセルを含む Raster
    param - ImageWriteParam、またはデフォルト ImageWriteParam を使用するための null
    例外:
    IllegalStateException - 出力が設定されていない場合
    UnsupportedOperationException - canReplacePixels(imageIndex)false を返す場合
    IllegalStateException - 対応する endReplacePixels の呼び出しなしで、先行する prepareReplacePixels の呼び出しがない場合
    UnsupportedOperationException - canWriteRastersfalse を返す場合
    IllegalArgumentException - 次のどれかが true の場合
  • rasternull の場合
  • paramnull の場合
  • 交差する領域にピクセルが 1 つも格納されていない場合
  • raster のレイアウトが一致していないか、このライターでは既存のイメージのレイアウトに変換できない場合
    IOException - 書き込み中に入出力エラーが発生した場合

  • endReplacePixels

    public void endReplacePixels()
                          throws IOException
    replacePixels の呼び出し処理を終了します。

    canReplacePixelsfalse を返し、UnsupportedOperationException がスローされる場合です。

    出力が null の場合、デフォルト実装は IllegalStateException をスローし、そうでない場合は、UnsupportedOperationException をスローします。

    例外:
    IllegalStateException - 出力が設定されていない場合
    UnsupportedOperationException - canReplacePixels(imageIndex)false を返す場合
    IllegalStateException - 対応する endReplacePixels の呼び出しなしで、先行する prepareReplacePixels の呼び出しがない場合
    IOException - 書き込み中に入出力エラーが発生した場合

    abort

    public void abort()
    現在の、任意の書き込み操作の中止を要求します。中止に続く出力内容は、定義されません。

    書き込み側は、各書き込み操作の初めに clearAbortRequest を呼び出し、書き込み中に定期的に abortRequested の値をポーリングする必要があります。


    abortRequested

    protected boolean abortRequested()
    書き込み側がインスタンス化された、または clearAbortRequest が呼び出されたために、現在の書き込み操作の中止要求が出された場合、true を返します。

    戻り値:
    現在の書き込み操作を中止する必要がある場合 true
    関連項目:
    abort(), clearAbortRequest()

    clearAbortRequest

    protected void clearAbortRequest()
    以前の中断要求をクリアします。このメソッドが呼び出されると、abortRequestedfalse を返します。

    関連項目:
    abort(), abortRequested()

    addIIOWriteWarningListener

    public void addIIOWriteWarningListener(IIOWriteWarningListener listener)
    登録された警告リスナーのリストに IIOWriteWarningListener を追加します。listenernull の場合、例外はスローされず、何の処置もとられません。指定されたリスナーに送られたメッセージは、可能であれば、現在の Locale に合うよう地域対応されます。Locale が設定されていない場合、書き込み側に適合するよう警告メッセージを地域対応できます。

    パラメータ:
    listener - 登録される IIOWriteWarningListener
    関連項目:
    removeIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)

    removeIIOWriteWarningListener

    public void removeIIOWriteWarningListener(IIOWriteWarningListener listener)
    登録された警告リスナーのリストから、IIOWriteWarningListener を削除します。リスナーが前もって登録されなかった場合、または listenernull の場合、例外はスローされず、何の処置もとられません。

    パラメータ:
    listener - 登録を取り消される IIOWriteWarningListener
    関連項目:
    addIIOWriteWarningListener(javax.imageio.event.IIOWriteWarningListener)

    removeAllIIOWriteWarningListeners

    public void removeAllIIOWriteWarningListeners()
    現在登録された IIOWriteWarningListener オブジェクトをすべて削除します。

    デフォルト実装は warningListenerswarningLocales インスタンスの変数を null に設定します。


    addIIOWriteProgressListener

    public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
    登録された進捗リスナーのリストに IIOWriteProgressListener を追加します。listenernull の場合、例外はスローされず、何の処置もとられません。

    パラメータ:
    listener - 登録される IIOWriteProgressListener
    関連項目:
    removeIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

    removeIIOWriteProgressListener

    public void removeIIOWriteProgressListener(IIOWriteProgressListener listener)
    登録された進捗リスナーのリストから、IIOWriteProgressListener を削除します。リスナーが前もって登録されなかった場合、または listenernull の場合、例外はスローされず、何の処置もとられません。

    パラメータ:
    listener - 登録を取り消される IIOWriteProgressListener
    関連項目:
    addIIOWriteProgressListener(javax.imageio.event.IIOWriteProgressListener)

    removeAllIIOWriteProgressListeners

    public void removeAllIIOWriteProgressListeners()
    現在登録された IIOWriteProgressListener オブジェクトをすべて削除します。

    デフォルト実装は progressListeners インスタンスの変数を null に設定します。


    processImageStarted

    protected void processImageStarted(int imageIndex)
    登録されたすべての IIOWriteProgressListener へのイメージ書き込みの開始を、その imageStarted メソッドを呼び出すことで、通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    imageIndex - 書き込まれようとしているイメージのインデックス

    processImageProgress

    protected void processImageProgress(float percentageDone)
    登録されたすべての IIOWriteProgressListener へのイメージ補完の現在の割合を、その imageProgress メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    percentageDone - float としての現在の完成した割合

    processImageComplete

    protected void processImageComplete()
    登録されたすべての IIOWriteProgressListener へのイメージ書き込みの完了を、その imageComplete メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。


    processThumbnailStarted

    protected void processThumbnailStarted(int imageIndex,
                                           int thumbnailIndex)
    登録されたすべての IIOWriteProgressListener へのサムネイル書き込みの開始を、その thumbnailStarted メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    imageIndex - サムネールに関連付けられたイメージのインデックス
    thumbnailIndex - サムネールのインデックス

    processThumbnailProgress

    protected void processThumbnailProgress(float percentageDone)
    登録されたすべての IIOWriteProgressListener へのサムネイル補完の現在の割合を、その thumbnailProgress メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    percentageDone - float としての現在の完成した割合

    processThumbnailComplete

    protected void processThumbnailComplete()
    登録されたすべての IIOWriteProgressListener へのサムネイル書き込みの完了を、その thumbnailComplete メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。


    processWriteAborted

    protected void processWriteAborted()
    登録されたすべての IIOWriteProgressListener への書き込みが中止されたことを、その writeAborted メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。


    processWarningOccurred

    protected void processWarningOccurred(int imageIndex,
                                          String warning)
    登録されたすべての IIOWriteWarningListener への警告メッセージを、その warningOccurred メソッドを呼び出すことで通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    imageIndex - 警告が発生するイメージのインデックス
    warning - 警告メッセージ
    例外:
    IllegalArgumentException - warningnull の場合

    processWarningOccurred

    protected void processWarningOccurred(int imageIndex,
                                          String baseName,
                                          String keyword)
    登録されたすべての IIOWriteWarningListener への地域対応された警告メッセージを、その warningOccurred メソッドを呼び出すことで、ResourceBundle から取得した文字列を使用して通知します。サブクラスは、必要に応じてこのメソッドを使用できます。

    パラメータ:
    imageIndex - 警告が発生するイメージのインデックス
    baseName - 地域対応された警告メッセージを含む ResourceBundle のセットのベース名
    keyword - ResourceBundle 内の警告メッセージにインデックスを付けるために使用されるキーワード
    例外:
    IllegalArgumentException - baseNamenull の場合
    IllegalArgumentException - keywordnull の場合
    IllegalArgumentException - 適切な ResourceBundle が配置されない場合
    IllegalArgumentException - 名前付きのリソースが配置された ResourceBundle で検出されない場合
    IllegalArgumentException - ResourceBundle から取得したオブジェクトが String ではない場合

    reset

    public void reset()
    ImageWriter を初期状態に復元します。

    デフォルト実装では、setOutput(null)setLocale(null)removeAllIIOWriteWarningListeners()removeAllIIOWriteProgressListeners()clearAbortRequest を呼び出します。


    dispose

    public void dispose()
    このオブジェクトが保持するすべてのリソースを解放できるようにします。このメソッドの呼び出しのあとに続く finalize 以外の他のメソッドの呼び出しの結果は未定義です。

    アプリケーションは、ImageWriter が不要になった時点でこのメソッドを呼び出すことが重要です。そうしないと、ライターはリソース上に無期限に残存し続ける可能性があります。

    このメソッドのデフォルトの実装は、スーパークラスでは何も実行しません。サブクラスの実装で、すべてのリソース、特にネイティブリソースが解放されたことを確認してください。


    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 も参照してください。