JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio
クラス ImageIO

java.lang.Object
  上位を拡張 javax.imageio.ImageIO

public final class ImageIO
extends Object

ImageReader および ImageWriter を検索する静的な簡易メソッドを保持して、簡単な符号化と復号化を実行するクラスです。


メソッドの概要
static ImageInputStream createImageInputStream(Object input)
          指定された Object から入力を取得する ImageInputStream を返します。
static ImageOutputStream createImageOutputStream(Object output)
          指定された Object に出力を送信する ImageOutputStream を返します。
static File getCacheDirectory()
          setCacheDirectory によって設定された現在の値、または明示的に設定が行われていない場合は null を返します。
static ImageReader getImageReader(ImageWriter writer)
          指定された ImageWriter に対応する ImageReader (存在する場合) を返します。
static Iterator<ImageReader> getImageReaders(Object input)
          指定された Object、通常は ImageInputStream を復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。
static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
          名前付きの形式を復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。
static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
          指定された MIME タイプを持つファイルを復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。
static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
          指定された接尾辞を持つファイルを復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。
static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer)
          指定された ImageReader および ImageWriter のメタデータ間を変換できるような、現在登録されているすべての ImageTranscoder を保持する Iterator を返します。
static ImageWriter getImageWriter(ImageReader reader)
          指定された ImageReader に対応する ImageWriter (存在する場合) を返します。
static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName)
          指定された形式で、指定されたレイアウト (ImageTypeSpecifier を使用して指定された) のイメージを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。
static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
          名前付きの形式を符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。
static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
          指定された MIME タイプを持つファイルを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。
static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
          指定された接尾辞を持つファイルを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。
static String[] getReaderFormatNames()
          現在登録されている一連のリーダによって理解される、すべての非公式な形式の名前をリストする String の配列を返します。
static String[] getReaderMIMETypes()
          現在登録されている一連のリーダによって理解される、すべての MIME タイプをリストする String の配列を返します。
static boolean getUseCache()
          setUseCache によって設定された現在の値、または明示的に設定が行われていない場合は true を返します。
static String[] getWriterFormatNames()
          現在登録されている一連のライターによって理解される、すべての非公式な形式の名前をリストする String の配列を返します。
static String[] getWriterMIMETypes()
          現在登録されている一連のライターによって理解される、すべての MIME タイプをリストする String の配列を返します。
static BufferedImage read(File input)
          現在登録されているものの中から自動的に選択された ImageReader を使用して、指定された File を復号化した結果として、BufferedImage を返します。
static BufferedImage read(ImageInputStream stream)
          現在登録されているものの中から自動的に選択された ImageReader を使用して、指定された ImageInputStream を復号化した結果として、BufferedImage を返します。
static BufferedImage read(InputStream input)
          現在登録されているものの中から自動的に選択された ImageReader を使用して、指定された InputStream を復号化した結果として、BufferedImage を返します。
static BufferedImage read(URL input)
          現在登録されているものの中から自動的に選択された ImageReader を使用して、指定された URL を復号化した結果として、BufferedImage を返します。
static void scanForPlugins()
          アプリケーションのクラスパスにあるプラグインを走査して、サービスプロバイダクラスをロードし、IIORegistry で検出されたインスタンスごとにサービスプロバイダインスタンスを登録します。
static void setCacheDirectory(File cacheDirectory)
          キャッシュファイルが作成されるディレクトリを設定します。
static void setUseCache(boolean useCache)
          ImageInputStream および ImageOutputStream の作成時に、ディスクベースのキャッシュファイルを使用する必要があるかどうかを示すフラグを設定します。
static boolean write(RenderedImage im, String formatName, File output)
          File に指定された形式をサポートする、任意の ImageWriter を使用してイメージを書き込みます。
static boolean write(RenderedImage im, String formatName, ImageOutputStream output)
          ImageOutputStream に、指定された形式をサポートする任意の ImageWriter を使用してイメージを書き込みます。
static boolean write(RenderedImage im, String formatName, OutputStream output)
          OutputStream に指定された形式をサポートする、任意の ImageWriter を使用してイメージを書き込みます。
 
クラス 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 実行時環境の実装に依存します。

関連項目:
ClassLoader.getResources(java.lang.String)

setUseCache

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

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

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

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

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

getUseCache

public static boolean getUseCache()
setUseCache によって設定された現在の値、または明示的に設定が行われていない場合は true を返します。

戻り値:
ImageInputStream および ImageOutputStream に対して、ディスクベースのキャッシュが使用できる場合は true
関連項目:
setUseCache(boolean)

setCacheDirectory

public static void setCacheDirectory(File cacheDirectory)
キャッシュファイルが作成されるディレクトリを設定します。値 null は、システムに依存するデフォルトの一時ファイルディレクトリが使用されることを示します。getUseCache が false を返す場合、この値は無視されます。

パラメータ:
cacheDirectory - ディレクトリを指定する File
例外:
SecurityException - セキュリティマネージャがディレクトリへのアクセスを拒否する場合
IllegalArgumentException - cacheDirnull 以外であるが、ディレクトリではない場合
関連項目:
File.createTempFile(String, String, File), getCacheDirectory()

getCacheDirectory

public static File getCacheDirectory()
setCacheDirectory によって設定された現在の値、または明示的に設定が行われていない場合は null を返します。

戻り値:
キャッシュファイルが作成されるディレクトリを示す File、またはシステムに依存するデフォルトの一時ファイルディレクトリを示す null
関連項目:
setCacheDirectory(java.io.File)

createImageInputStream

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

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

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

createImageOutputStream

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

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

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

getReaderFormatNames

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

戻り値:
String の配列

getReaderMIMETypes

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

戻り値:
String の配列

getImageReaders

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

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

パラメータ:
input - ImageInputStream または符号化されたイメージデータを保持する他の Object
戻り値:
ImageReader を保持する Iterator
例外:
IllegalArgumentException - inputnull の場合
関連項目:
ImageReaderSpi.canDecodeInput(java.lang.Object)

getImageReadersByFormatName

public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
名前付きの形式を復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。

パラメータ:
formatName - 「jpeg」または「tiff」などの非公式な形式の名前を保持する String
戻り値:
ImageReader を保持する Iterator
例外:
IllegalArgumentException - formatNamenull の場合
関連項目:
ImageReaderWriterSpi.getFormatNames()

getImageReadersBySuffix

public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
指定された接尾辞を持つファイルを復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。

パラメータ:
fileSuffix - 「jpg」または「tiff」などのファイル接尾辞を保持する String
戻り値:
ImageReader を保持する Iterator
例外:
IllegalArgumentException - fileSuffixnull の場合
関連項目:
ImageReaderWriterSpi.getFileSuffixes()

getImageReadersByMIMEType

public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
指定された MIME タイプを持つファイルを復号化できるような、現在登録されているすべての ImageReader を保持する Iterator を返します。

パラメータ:
MIMEType - 「image/jpeg」または「image/x-bmp」などのファイル接尾辞を保持する String
戻り値:
ImageReader を保持する Iterator
例外:
IllegalArgumentException - MIMETypenull の場合
関連項目:
ImageReaderWriterSpi.getMIMETypes()

getWriterFormatNames

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

戻り値:
String の配列

getWriterMIMETypes

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

戻り値:
String の配列

getImageWritersByFormatName

public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
名前付きの形式を符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。

パラメータ:
formatName - 「jpeg」または「tiff」などの非公式な形式の名前を保持する String
戻り値:
ImageWriter を保持する Iterator
例外:
IllegalArgumentException - formatNamenull の場合
関連項目:
ImageReaderWriterSpi.getFormatNames()

getImageWritersBySuffix

public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
指定された接尾辞を持つファイルを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。

パラメータ:
fileSuffix - 「jpg」または「tiff」などのファイル接尾辞を保持する String
戻り値:
ImageWriter を保持する Iterator
例外:
IllegalArgumentException - fileSuffixnull の場合
関連項目:
ImageReaderWriterSpi.getFileSuffixes()

getImageWritersByMIMEType

public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
指定された MIME タイプを持つファイルを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。

パラメータ:
MIMEType - 「image/jpeg」または「image/x-bmp」などのファイル接尾辞を保持する String
戻り値:
ImageWriter を保持する Iterator
例外:
IllegalArgumentException - MIMETypenull の場合
関連項目:
ImageReaderWriterSpi.getMIMETypes()

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(ImageWriter), ImageReaderSpi.getImageWriterSpiNames()

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 の場合
関連項目:
getImageWriter(ImageReader), ImageWriterSpi.getImageReaderSpiNames()

getImageWriters

public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type,
                                                    String formatName)
指定された形式で、指定されたレイアウト (ImageTypeSpecifier を使用して指定された) のイメージを符号化できるような、現在登録されているすべての ImageWriter を保持する Iterator を返します。

パラメータ:
type - 書き込まれたイメージのレイアウトを示す ImageTypeSpecifier
formatName - format の非公式な名前
戻り値:
ImageWriter を保持する Iterator
例外:
IllegalArgumentException - 任意のパラメータが null の場合
関連項目:
ImageWriterSpi.canEncodeImage(ImageTypeSpecifier)

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 - 読み込み中にエラーが発生した場合

read

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

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

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

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

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 - 読み込み中にエラーが発生した場合

read

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

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

write

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

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

write

public static boolean write(RenderedImage im,
                            String formatName,
                            File output)
                     throws IOException
File に指定された形式をサポートする、任意の ImageWriter を使用してイメージを書き込みます。すでに File が存在する場合、その内容は破棄されます。

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

write

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

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

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

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