モジュール java.desktop
パッケージ 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()
      以前の中断リクエストをクリアします。
      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)
      warningOccurredメソッドを呼び出すことで、警告メッセージを、登録されたすべてのIIOWriteWarningListenerに通知します。
      protected void processWarningOccurred​(int imageIndex, String baseName, String keyword)
      ResourceBundleから取得した文字列を持つwarningOccurredメソッドを呼び出すことで、ローカライズされた警告メッセージを、登録されたすべてのIIOWriteWarningListenerに通知します。
      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​(RenderedImage image)
      デフォルト・メタデータとサムネールの付いた1つのイメージから成る、完全なイメージ・ストリームを出力に追加します。
      void write​(IIOImage image)
      デフォルト・メタデータとサムネールの付いた1つのイメージを含む、完全なイメージ・ストリームを出力に追加します。
      abstract void write​(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
      1つのイメージ、関連付けられたストリームとイメージ・メタデータ、およびサムネールを含む完全なイメージ・ストリームを出力に追加します。
      void writeInsert​(int imageIndex, IIOImage image, ImageWriteParam param)
      既存イメージ・ストリームに新規イメージを挿入します。
      void writeToSequence​(IIOImage image, ImageWriteParam param)
      1つのイメージと、関連付けられる可能性のあるメタデータとサムネールを、出力に追加します。
    • フィールドの詳細

      • 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メソッドによって返されたいずれかのクラスのインスタンスでない場合。
        関連項目:
        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を返します。

        戻り値:
        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オブジェクト。
      • 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 - 書き込まれるイメージ、サムネール、およびメタデータを含むIIOImageオブジェクト。
        param - ImageWriteParam、デフォルトのImageWriteParamを使用する場合はnull
        例外:
        IllegalStateException - 出力が設定されていない場合。
        UnsupportedOperationException - imageRasterおよびcanWriteRastersが含まれる場合、falseを返す。
        IllegalArgumentException - imagenullの場合。
        IOException - 書込み中にエラーが発生した場合。
      • write

        public void write​(IIOImage image)
                   throws IOException
        デフォルト・メタデータとサムネールの付いた1つのイメージを含む、完全なイメージ・ストリームを出力に追加します。 このメソッドはwrite(null, image, null)の短縮形です。
        パラメータ:
        image - 書き込まれるイメージ、サムネール、およびメタデータを含むIIOImageオブジェクト。
        例外:
        IllegalStateException - 出力が設定されていない場合。
        IllegalArgumentException - imagenullの場合。
        UnsupportedOperationException - imageRasterおよびcanWriteRastersが含まれる場合、falseを返す。
        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 - 書き込まれるイメージ、サムネール、およびメタデータを含むIIOImageオブジェクト。
        param - ImageWriteParam、デフォルトのImageWriteParamを使用する場合はnull
        例外:
        IllegalStateException - 出力が設定されていなかったか、prepareWriteSequenceが呼び出されていなかった場合。
        UnsupportedOperationException - canWriteSequencefalseを返す場合。
        IllegalArgumentException - imagenullの場合。
        UnsupportedOperationException - imageRasterおよびcanWriteRastersが含まれる場合、falseを返す。
        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 - 書き込まれるイメージ、サムネール、およびメタデータを含むIIOImageオブジェクト。
        param - ImageWriteParam、デフォルトのImageWriteParamを使用する場合はnull
        例外:
        IllegalStateException - 出力が設定されていない場合。
        UnsupportedOperationException - canInsertImage(imageIndex)falseを返す場合。
        IllegalArgumentException - imagenullの場合。
        IndexOutOfBoundsException - imageIndexが -1未満、または使用可能な最大インデックスより大きい場合。
        UnsupportedOperationException - imageRasterおよびcanWriteRastersが含まれる場合、falseを返す。
        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の呼出しの間に、prepareReplacePixelsreplacePixels、およびendReplacePixelsの呼出しが発生することがあります。 ただし、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の呼出しが発生するまで、挿入は完全ではありません。 prepareInsertEmptyendInsertEmptyの呼出しの間に、prepareReplacePixelsreplacePixels、およびendReplacePixelsの呼出しが発生することがあります。 ただし、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 - 次のいずれかに当てはまる場合:
        • imagenullです。
        • 交差した範囲にピクセルが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 - 次のいずれかに当てはまる場合:
        • rasternullです。
        • 交差した範囲にピクセルが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に設定します。

      • 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)
        warningOccurredメソッドを呼び出すことで、警告メッセージを、登録されたすべてのIIOWriteWarningListenerに通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
        パラメータ:
        imageIndex - 警告が発生するイメージのインデックス。
        warning - 警告メッセージ。
        例外:
        IllegalArgumentException - warningnullの場合。
      • processWarningOccurred

        protected void processWarningOccurred​(int imageIndex,
                                              String baseName,
                                              String keyword)
        ResourceBundleから取得した文字列を持つwarningOccurredメソッドを呼び出すことで、ローカライズされた警告メッセージを、登録されたすべてのIIOWriteWarningListenerに通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
        パラメータ:
        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が不要になった時点でこのメソッドを呼び出すことが重要です。 そうしないと、書込み側はリソース上に無期限に存在し続ける可能性があります。

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