モジュール java.desktop
パッケージ javax.imageio

クラスImageIO

java.lang.Object
javax.imageio.ImageIO

public final class ImageIO extends Object
ImageReaderおよびImageWriterを検索する静的な簡易メソッドを保持して、簡単な符号化と復号化を実行するクラスです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定されたObjectから入力を取得するImageInputStreamを返します。
    指定されたObjectに出力を送信するImageOutputStreamを返します。
    static File
    setCacheDirectoryによって設定された現在の値、または明示的に設定が行われていない場合はnullを返します。
    指定されたImageWriterに対応するImageReader(存在する場合)を返します。このImageWriterのプラグインが対応するImageReaderを指定しない場合、または指定されたImageWriterが登録されていない場合はnullを返します。
    指定されたObject、通常はImageInputStreamを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
    名前付きの形式を復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
    指定されたMIMEタイプを持つファイルを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
    指定された接尾辞を持つファイルを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
    指定されたImageReaderおよびImageWriterのメタデータ間を変換できるような、現在登録されているすべてのImageTranscoderを保持するIteratorを返します。
    指定されたImageReaderに対応するImageWriter(存在する場合)を返します。このImageReaderのプラグインが対応するImageWriterを指定しない場合、または指定されたImageReaderが登録されていない場合はnullを返します。
    指定された形式で、指定されたレイアウト(ImageTypeSpecifierを使用して指定された)のイメージを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
    名前付きの形式を符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
    指定されたMIMEタイプを持つファイルを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
    指定された接尾辞を持つファイルを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
    static String[]
    現在登録されている一連のリーダーによって認識される形式に関連付けられたすべてのファイル接尾辞をリストするStringの配列を返します。
    static String[]
    現在登録されている一連のリーダーによって認識される、すべての非公式な形式の名前をリストするStringの配列を返します。
    static String[]
    現在登録されている一連のリーダーによって認識される、すべてのMIMEタイプをリストするStringの配列を返します。
    static boolean
    setUseCacheによって設定された現在の値、または明示的に設定が行われていない場合はtrueを返します。
    static String[]
    現在登録されている一連のライターによって認識される形式に関連付けられたすべてのファイル接尾辞をリストするStringの配列を返します。
    static String[]
    現在登録されている一連のライターによって認識される、すべての非公式な形式の名前をリストするStringの配列を返します。
    static String[]
    現在登録されている一連のライターによって認識される、すべてのMIMEタイプをリストするStringの配列を返します。
    read(File input)
    現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたFileを復号化した結果として、BufferedImageを返します。
    現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたInputStreamを復号化した結果として、BufferedImageを返します。
    read(URL input)
    現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたURLを復号化した結果として、BufferedImageを返します。
    現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたImageInputStreamを復号化した結果として、BufferedImageを返します。
    static void
    アプリケーションのクラス・パスにあるプラグインを走査して、サービス・プロバイダ・クラスをロードし、IIORegistryで検出されたインスタンスごとにサービス・プロバイダ・インスタンスを登録します。
    static void
    setCacheDirectory(File cacheDirectory)
    キャッシュ・ファイルが作成されるディレクトリを設定します。
    static void
    setUseCache(boolean useCache)
    ImageInputStreamおよびImageOutputStreamの作成時に、ディスク・ベースのキャッシュ・ファイルを使用する必要があるかどうかを示すフラグを設定します。
    static boolean
    write(RenderedImage im, String formatName, File output)
    指定された形式をサポートする任意のImageWriterを使用してイメージをFileに書き込みます。
    static boolean
    write(RenderedImage im, String formatName, OutputStream output)
    指定された形式をサポートする任意のImageWriterを使用してイメージをOutputStreamに書き込みます。
    static boolean
    write(RenderedImage im, String formatName, ImageOutputStream output)
    指定された形式をサポートする任意のImageWriterを使用してイメージをImageOutputStreamに書き込みます。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • メソッドの詳細

    • scanForPlugins

      public static void scanForPlugins()
      アプリケーションのクラス・パスにあるプラグインを走査して、サービス・プロバイダ・クラスをロードし、IIORegistryで検出されたインスタンスごとにサービス・プロバイダ・インスタンスを登録します。

      このメソッドが必要なのは、アプリケーションのクラス・パスを理論上変更することができ、追加のプラグインが使用可能になるためです。 クラス・パスは、APIの呼び出しごとに再走査するのではなく、最初の呼び出しだけで自動的に走査されます。 クライアントは、このメソッドを呼び出して再走査を要求できます。 したがって、このメソッドは、実行時に新しいプラグインを動的に使用可能にする高度なアプリケーションによってのみ呼び出す必要があります。

      ClassLoaderコンテキストのgetResourcesメソッドは、META-INF/services/javax.imageio.spi.classnameという名前のファイルを保持するJARファイルの検索に使用します。ここで、classnameは、アプリケーションのクラス・パスに沿ったImageReaderSpiImageWriterSpiImageTranscoderSpiImageInputStreamSpi、またはImageOutputStreamSpiのいずれか1つです。

      検索されたファイルの内容は、上記のサービス・プロバイダ・インタフェースを実装する実際の実装クラスの名前を示します。デフォルトのクラス・ローダーが、これらの各クラスをロードして、各クラスのインスタンスをインスタンス化するために使用され、あとで取得できるようにレジストリに配置されます。

      検索される正確な位置のセットはJava実行時環境の実装に依存します。

      関連項目:
    • setUseCache

      public static void setUseCache(boolean useCache)
      ImageInputStreamおよびImageOutputStreamの作成時に、ディスク・ベースのキャッシュ・ファイルを使用する必要があるかどうかを示すフラグを設定します。

      標準InputStreamから読み取る場合、背後にあるストリームはデータを再読込みできないため、事前にキャッシュに読込み情報を保存する必要があります。 同様に、標準OutputStreamに書込みを行う場合、最終送信先にフラッシュする前に、事前に書き込まれた値を変更するためにキャッシュを使用します。

      キャッシュは、主記憶またはディスクに常駐します。 このフラグをfalseに設定すると、これ以後のストリームがディスクを使用しないようにできます。これにより、ファイルの作成と廃棄のオーバーヘッドが除かれるため、小さいイメージを使用して作業する場合に役立ちます。

      起動時は、値はtrueに設定されます。

      パラメータ:
      useCache - オプションとなっている場合に、キャッシュ・ファイルが使用できるかどうかを示すboolean
      関連項目:
    • getUseCache

      public static boolean getUseCache()
      setUseCacheによって設定された現在の値、または明示的に設定が行われていない場合はtrueを返します。
      戻り値:
      ImageInputStreamおよびImageOutputStreamに対して、ディスク・ベースのキャッシュが使用できる場合はtrue。
      関連項目:
    • setCacheDirectory

      public static void setCacheDirectory(File cacheDirectory)
      キャッシュ・ファイルが作成されるディレクトリを設定します。 nullは、システムに依存するデフォルトの一時ファイル・ディレクトリが使用されることを示します。 getUseCacheがfalseを返す場合、この値は無視されます。
      パラメータ:
      cacheDirectory - ディレクトリを指定するFile
      例外:
      SecurityException - セキュリティ・マネージャがディレクトリへのアクセスを拒否する場合。
      IllegalArgumentException - cacheDirnull以外であるが、ディレクトリではない場合。
      関連項目:
    • getCacheDirectory

      public static File getCacheDirectory()
      setCacheDirectoryによって設定された現在の値、または明示的に設定が行われていない場合はnullを返します。
      戻り値:
      キャッシュ・ファイルが作成されるディレクトリを示すFile、またはシステムに依存するデフォルトの一時ファイル・ディレクトリを示すnull
      関連項目:
    • createImageInputStream

      public static ImageInputStream createImageInputStream(Object input) throws IOException
      指定されたObjectから入力を取得するImageInputStreamを返します。 IIORegistryクラスで登録されたImageInputStreamSpiのセットが照会され、指定されたオブジェクトから入力を取得できる最初のストリームを使用して、返されるImageInputStreamが作成されます。 適切なImageInputStreamSpiが存在しない場合、nullが返されます。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、キャッシュの制御に使用します。

      パラメータ:
      input - File、読込み可能なRandomAccessFileInputStreamなどを入力ソースとして使用するObject
      戻り値:
      ImageInputStream、またはnull
      例外:
      IllegalArgumentException - inputnullの場合。
      IOException - キャッシュ・ファイルが必要であるが作成できない場合。
      関連項目:
    • createImageOutputStream

      public static ImageOutputStream createImageOutputStream(Object output) throws IOException
      指定されたObjectに出力を送信するImageOutputStreamを返します。 IIORegistryクラスで登録されたImageOutputStreamSpiのセットが照会され、指定されたオブジェクトから出力を送信できる最初のストリームを使用して、返されるImageOutputStreamが作成されます。 適切なImageOutputStreamSpiが存在しない場合、nullが返されます。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、キャッシュの制御に使用します。

      パラメータ:
      output - File、書込み可能なRandomAccessFileOutputStreamなどを出力先として使用するObject
      戻り値:
      ImageOutputStream、またはnull
      例外:
      IllegalArgumentException - outputnullの場合。
      IOException - キャッシュ・ファイルが必要であるが作成できない場合。
      関連項目:
    • getReaderFormatNames

      public static String[] getReaderFormatNames()
      現在登録されている一連のリーダーによって認識される、すべての非公式な形式の名前をリストするStringの配列を返します。
      戻り値:
      Stringの配列。
    • getReaderMIMETypes

      public static String[] getReaderMIMETypes()
      現在登録されている一連のリーダーによって認識される、すべてのMIMEタイプをリストするStringの配列を返します。
      戻り値:
      Stringの配列。
    • getReaderFileSuffixes

      public static String[] getReaderFileSuffixes()
      現在登録されている一連のリーダーによって認識される形式に関連付けられたすべてのファイル接尾辞をリストするStringの配列を返します。
      戻り値:
      Stringの配列。
      導入されたバージョン:
      1.6
    • getImageReaders

      public static Iterator<ImageReader> getImageReaders(Object input)
      指定されたObject、通常はImageInputStreamを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。

      ストリームの位置は、メソッドの終了時にその前の位置に残ります。

      パラメータ:
      input - ImageInputStreamまたは符号化されたイメージ・データを保持するほかのObject
      戻り値:
      ImageReaderを保持するIterator
      例外:
      IllegalArgumentException - inputnullの場合。
      関連項目:
    • getImageReadersByFormatName

      public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
      名前付きの形式を復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
      パラメータ:
      formatName - 非公式な形式の名前(たとえば、「jpeg」や「tiff」)を保持するString
      戻り値:
      ImageReaderを保持するIterator
      例外:
      IllegalArgumentException - formatNamenullの場合。
      関連項目:
    • getImageReadersBySuffix

      public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
      指定された接尾辞を持つファイルを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
      パラメータ:
      fileSuffix - ファイル接尾辞(たとえば、「jpg」や「tiff」)を保持するString
      戻り値:
      ImageReaderを保持するIterator
      例外:
      IllegalArgumentException - fileSuffixnullの場合。
      関連項目:
    • getImageReadersByMIMEType

      public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
      指定されたMIMEタイプを持つファイルを復号化できるような、現在登録されているすべてのImageReaderを保持するIteratorを返します。
      パラメータ:
      MIMEType - ファイル接尾辞(たとえば、「image/jpeg」や「image/x-bmp」)を保持するString
      戻り値:
      ImageReaderを保持するIterator
      例外:
      IllegalArgumentException - MIMETypenullの場合。
      関連項目:
    • getWriterFormatNames

      public static String[] getWriterFormatNames()
      現在登録されている一連のライターによって認識される、すべての非公式な形式の名前をリストするStringの配列を返します。
      戻り値:
      Stringの配列。
    • getWriterMIMETypes

      public static String[] getWriterMIMETypes()
      現在登録されている一連のライターによって認識される、すべてのMIMEタイプをリストするStringの配列を返します。
      戻り値:
      Stringの配列。
    • getWriterFileSuffixes

      public static String[] getWriterFileSuffixes()
      現在登録されている一連のライターによって認識される形式に関連付けられたすべてのファイル接尾辞をリストするStringの配列を返します。
      戻り値:
      Stringの配列。
      導入されたバージョン:
      1.6
    • getImageWritersByFormatName

      public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
      名前付きの形式を符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
      パラメータ:
      formatName - 非公式な形式の名前(たとえば、「jpeg」や「tiff」)を保持するString
      戻り値:
      ImageWriterを保持するIterator
      例外:
      IllegalArgumentException - formatNamenullの場合。
      関連項目:
    • getImageWritersBySuffix

      public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
      指定された接尾辞を持つファイルを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
      パラメータ:
      fileSuffix - ファイル接尾辞(たとえば、「jpg」や「tiff」)を保持するString
      戻り値:
      ImageWriterを保持するIterator
      例外:
      IllegalArgumentException - fileSuffixnullの場合。
      関連項目:
    • getImageWritersByMIMEType

      public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
      指定されたMIMEタイプを持つファイルを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
      パラメータ:
      MIMEType - ファイル接尾辞(たとえば、「image/jpeg」や「image/x-bmp」)を保持するString
      戻り値:
      ImageWriterを保持するIterator
      例外:
      IllegalArgumentException - MIMETypenullの場合。
      関連項目:
    • getImageWriter

      public static ImageWriter getImageWriter(ImageReader reader)
      指定されたImageReaderに対応するImageWriter(存在する場合)を返します。このImageReaderのプラグインが対応するImageWriterを指定しない場合、または指定されたImageReaderが登録されていない場合はnullを返します。 このメカニズムは、ImageReaderで生成された(IIOMetadataオブジェクトによって符号化されたような)ピクセル以外のメタデータの内部構造を認識するImageWriterを取得するために使用されます。 このデータをImageReaderから取得し、このメソッドで取得されたImageWriterに渡すことにより、クライアント・プログラムは、メタデータの構造やイメージ形式を認識しなくても、すべてのメタデータを保持したまま、イメージを読み込み、それを何らかの方法で変更し、書き出すことができます。 このメソッドは、javax.imageio.spi.ImageReaderSpi.getImageWriterSpiNames()によって返されたリストの最初にある「優先設定」ライターを返すことに注意してください。
      パラメータ:
      reader - 登録されたImageReaderのインスタンス。
      戻り値:
      ImageWriter、またはnull。
      例外:
      IllegalArgumentException - readernullの場合。
      関連項目:
    • getImageReader

      public static ImageReader getImageReader(ImageWriter writer)
      指定されたImageWriterに対応するImageReader(存在する場合)を返します。このImageWriterのプラグインが対応するImageReaderを指定しない場合、または指定されたImageWriterが登録されていない場合はnullを返します。 このメソッドは、主としてgetImageWriter(ImageReader)と対称となるように提供されます。 このメソッドは、javax.imageio.spi.ImageWriterSpi.getImageReaderSpiNames()によって返されたリストの最初にある「優先設定」リーダーを返すことに注意してください。
      パラメータ:
      writer - 登録されたImageWriterのインスタンス。
      戻り値:
      ImageReader、またはnull。
      例外:
      IllegalArgumentException - writernullの場合。
      関連項目:
    • getImageWriters

      public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName)
      指定された形式で、指定されたレイアウト(ImageTypeSpecifierを使用して指定された)のイメージを符号化できるような、現在登録されているすべてのImageWriterを保持するIteratorを返します。
      パラメータ:
      type - 書き込まれたイメージのレイアウトを示すImageTypeSpecifier
      formatName - formatの非公式な名前。
      戻り値:
      ImageWriterを保持するIterator
      例外:
      IllegalArgumentException - 任意のパラメータがnullの場合。
      関連項目:
    • getImageTranscoders

      public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer)
      指定されたImageReaderおよびImageWriterのメタデータ間を変換できるような、現在登録されているすべてのImageTranscoderを保持するIteratorを返します。
      パラメータ:
      reader - ImageReader
      writer - ImageWriter
      戻り値:
      ImageTranscoderを保持するIterator
      例外:
      IllegalArgumentException - readerまたはwriternullの場合。
    • read

      public static BufferedImage read(File input) throws IOException
      現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたFileを復号化した結果として、BufferedImageを返します。 FileImageInputStreamにラップされます。 結果のストリームを読み込めるようなImageReaderが登録されていない場合は、nullが返されます。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、作成されたImageInputStreamのキャッシュの制御に使用します。

      ファイル名としてStringをとるreadメソッドは存在しないことに注意してください。代わりに、ファイル名からFileを作成したあとにこのメソッドを使用します。

      このメソッドは、Fileから直接読み取れるImageReaderを検索しません。この場合は、IIORegistryImageReaderSpiを使用します。

      パラメータ:
      input - 読込み元のFile
      戻り値:
      復号化された入力内容を保持するBufferedImage、またはnull
      例外:
      IllegalArgumentException - inputnullの場合。
      IOException - 読み込み中にエラーが発生した場合、または必要なImageInputStreamを作成できない場合。
    • read

      public static BufferedImage read(InputStream input) throws IOException
      現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたInputStreamを復号化した結果として、BufferedImageを返します。 InputStreamImageInputStreamにラップされます。 結果のストリームを読み込めるようなImageReaderが登録されていない場合は、nullが返されます。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、作成されたImageInputStreamのキャッシュの制御に使用します。

      このメソッドは、InputStreamから直接読み取れるImageReaderを検索しません。この場合は、IIORegistryImageReaderSpiを使用します。

      このメソッドは、読込みオペレーションの完了後、提供されたInputStream閉じません。ストリームを必要に応じて閉じるのは、呼出し側の役割です。

      パラメータ:
      input - 読込み元のInputStream
      戻り値:
      復号化された入力内容を保持するBufferedImage、またはnull
      例外:
      IllegalArgumentException - inputnullの場合。
      IOException - 読み込み中にエラーが発生した場合、または必要なImageInputStreamを作成できない場合。
    • read

      public static BufferedImage read(URL input) throws IOException
      現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたURLを復号化した結果として、BufferedImageを返します。 InputStreamImageInputStreamにラップされたURLから取得します。 結果のストリームを読み込めるようなImageReaderが登録されていない場合は、nullが返されます。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、作成されたImageInputStreamのキャッシュの制御に使用します。

      このメソッドは、URLから直接読み取れるImageReaderを検索しません。この場合は、IIORegistryImageReaderSpiを使用します。

      パラメータ:
      input - 読込み元のURL
      戻り値:
      復号化された入力内容を保持するBufferedImage、またはnull
      例外:
      IllegalArgumentException - inputnullの場合。
      IOException - 読み込み中にエラーが発生した場合、または必要なImageInputStreamを作成できない場合。
    • read

      public static BufferedImage read(ImageInputStream stream) throws IOException
      現在登録されているものの中から自動的に選択されたImageReaderを使用して、指定されたImageInputStreamを復号化した結果として、BufferedImageを返します。 ストリームを読み込めるようなImageReaderが登録されていない場合は、nullが返されます。

      このクラスのほかの大半のメソッドとは異なり、このメソッドは、nullが返されないかぎり、読込みオペレーションの完了後に提供されたImageInputStream閉じます。nullが返された場合、このメソッドはストリームを閉じません

      パラメータ:
      stream - 読込み元のImageInputStream
      戻り値:
      復号化された入力内容を保持するBufferedImage、またはnull
      例外:
      IllegalArgumentException - streamnullの場合。
      IOException - 読込み中にエラーが発生した場合。
    • write

      public static boolean write(RenderedImage im, String formatName, ImageOutputStream output) throws IOException
      指定された形式をサポートする任意のImageWriterを使用してイメージをImageOutputStreamに書き込みます。 イメージは、現在のストリーム・ポインタで始まるImageOutputStreamに書き込まれ、そのポイントから前にある既存のストリーム・データ(存在する場合)を上書きします。

      このメソッドは、書込みオペレーションの完了後、提供されたImageOutputStream閉じません。ストリームを必要に応じて閉じるのは、呼出し側の役割です。

      パラメータ:
      im - 書き込まれるRenderedImage値。
      formatName - 非公式な形式の名前を保持するString
      output - 書き込まれるImageOutputStream
      戻り値:
      適切なライターが見つからない場合はfalse
      例外:
      IllegalArgumentException - 任意のパラメータがnullの場合。
      IOException - 書込み中にエラーが発生した場合。
    • write

      public static boolean write(RenderedImage im, String formatName, File output) throws IOException
      指定された形式をサポートする任意のImageWriterを使用してイメージをFileに書き込みます。 すでにFileが存在する場合、その内容は破棄されます。
      パラメータ:
      im - 書き込まれるRenderedImage値。
      formatName - 非公式な形式の名前を保持するString
      output - 書き込まれるFile
      戻り値:
      適切なライターが見つからない場合はfalse
      例外:
      IllegalArgumentException - 任意のパラメータがnullの場合。
      IOException - 書き込み中にエラーが発生した場合、または必要なImageOutputStreamを作成できない場合。
    • write

      public static boolean write(RenderedImage im, String formatName, OutputStream output) throws IOException
      指定された形式をサポートする任意のImageWriterを使用してイメージをOutputStreamに書き込みます。

      このメソッドは、書込みオペレーションの完了後、提供されたOutputStream閉じません。ストリームを必要に応じて閉じるのは、呼出し側の役割です。

      getUseCache およびgetCacheDirectoryからの現在のキャッシュの設定は、キャッシュの制御に使用します。

      パラメータ:
      im - 書き込まれるRenderedImage値。
      formatName - 非公式な形式の名前を保持するString
      output - 書き込まれるOutputStream
      戻り値:
      適切なライターが見つからない場合はfalse
      例外:
      IllegalArgumentException - 任意のパラメータがnullの場合。
      IOException - 書き込み中にエラーが発生した場合、または必要なImageOutputStreamを作成できない場合。