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 (存在する場合)を返します。または、このImageWriter のプラグインが対応するImageReader を指定しない場合、あるいは指定されたImageWriter が登録されていない場合はnull を返します。 |
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 (存在する場合)を返します。または、このImageReader のプラグインが対応するImageWriter を指定しない場合、あるいは指定されたImageReader が登録されていない場合はnull を返します。 |
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[] |
getReaderFileSuffixes()
現在登録されている一連のリーダーによって認識される形式に関連付けられたすべてのファイル接尾辞をリストする
String の配列を返します。 |
static String[] |
getReaderFormatNames()
現在登録されている一連のリーダーによって認識される、すべての非公式な形式の名前をリストする
String の配列を返します。 |
static String[] |
getReaderMIMETypes()
現在登録されている一連のリーダーによって認識される、すべてのMIMEタイプをリストする
String の配列を返します。 |
static boolean |
getUseCache()
setUseCache によって設定された現在の値、または明示的に設定が行われていない場合はtrue を返します。 |
static String[] |
getWriterFileSuffixes()
現在登録されている一連のライターによって認識される形式に関連付けられたすべてのファイル接尾辞をリストする
String の配列を返します。 |
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)
指定された形式をサポートする任意の
ImageWriter を使用してイメージをFile に書き込みます。 |
static boolean |
write(RenderedImage im, String formatName, ImageOutputStream output)
ImageOutputStream に、指定された形式をサポートする任意のImageWriter を使用してイメージを書き込みます。 |
static boolean |
write(RenderedImage im, String formatName, OutputStream output)
指定された形式をサポートする任意の
ImageWriter を使用してイメージをOutputStream に書き込みます。 |
public static void scanForPlugins()
IIORegistry
で検出されたインスタンスごとにサービス・プロバイダ・インスタンスを登録します。
このメソッドが必要なのは、アプリケーションのクラス・パスを理論上変更することができ、追加のプラグインが使用可能になるためです。クラス・パスは、APIの呼び出しごとに再走査するのではなく、最初の呼び出しだけで自動的に走査されます。クライアントは、このメソッドを呼び出して再走査を要求できます。したがって、このメソッドは、実行時に新しいプラグインを動的に使用可能にする高度なアプリケーションによってのみ呼び出す必要があります。
ClassLoader
コンテキストのgetResources
メソッドは、META-INF/services/javax.imageio.spi.
classnameという名前のファイルを保持するJARファイルの検索に使用します。ここで、classnameは、アプリケーションのクラス・パスに沿ったImageReaderSpi
、ImageWriterSpi
、ImageTranscoderSpi
、ImageInputStreamSpi
、またはImageOutputStreamSpi
のいずれか1つです。
検索されたファイルの内容は、上記のサービス・プロバイダ・インタフェースを実装する実際の実装クラスの名前を示します。デフォルトのクラス・ローダーが、これらの各クラスをロードして、各クラスのインスタンスをインスタンス化するために使用され、あとで取得できるようにレジストリに配置されます。
検索される正確な位置のセットはJava実行時環境の実装に依存します。
public static void setUseCache(boolean useCache)
ImageInputStream
およびImageOutputStream
の作成時に、ディスク・ベースのキャッシュ・ファイルを使用する必要があるかどうかを示すフラグを設定します。
標準InputStream
から読み取る場合、背後にあるストリームはデータを再読込みできないため、事前にキャッシュに読込み情報を保存する必要があります。同様に、標準OutputStream
に書込みを行う場合、最終送信先にフラッシュする前に、事前に書き込まれた値を変更するためにキャッシュを使用します。
キャッシュは、主記憶またはディスクに常駐します。このフラグをfalse
に設定すると、これ以後のストリームがディスクを使用しないようにできます。これにより、ファイルの作成と廃棄のオーバーヘッドが除かれるため、小さいイメージを使用して作業する場合に役立ちます。
起動時は、値はtrue
に設定されます。
useCache
- オプションとなっている場合に、キャッシュ・ファイルが使用できるかどうかを示すboolean
。getUseCache()
public static boolean getUseCache()
setUseCache
によって設定された現在の値、または明示的に設定が行われていない場合はtrue
を返します。ImageInputStream
およびImageOutputStream
に対して、ディスク・ベースのキャッシュが使用できる場合はtrue。setUseCache(boolean)
public static void setCacheDirectory(File cacheDirectory)
null
は、システムに依存するデフォルトの一時ファイル・ディレクトリが使用されることを示します。getUseCache
がfalseを返す場合、この値は無視されます。cacheDirectory
- ディレクトリを指定するFile
。SecurityException
- セキュリティ・マネージャがディレクトリへのアクセスを拒否する場合。IllegalArgumentException
- cacheDir
がnull
以外であるが、ディレクトリではない場合。File.createTempFile(String, String, File)
, getCacheDirectory()
public static File getCacheDirectory()
setCacheDirectory
によって設定された現在の値、または明示的に設定が行われていない場合はnull
を返します。File
、またはシステムに依存するデフォルトの一時ファイル・ディレクトリを示すnull
。setCacheDirectory(java.io.File)
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
- input
がnull
の場合。IOException
- キャッシュ・ファイルが必要であるが作成できない場合。ImageInputStreamSpi
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
- output
がnull
の場合。IOException
- キャッシュ・ファイルが必要であるが作成できない場合。ImageOutputStreamSpi
public static String[] getReaderFormatNames()
String
の配列を返します。String
の配列。public static String[] getReaderMIMETypes()
String
の配列を返します。String
の配列。public static String[] getReaderFileSuffixes()
String
の配列を返します。String
の配列。public static Iterator<ImageReader> getImageReaders(Object input)
Object
、通常はImageInputStream
を復号化できるような、現在登録されているすべてのImageReader
を保持するIterator
を返します。
ストリームの位置は、メソッドの終了時にその前の位置に残ります。
input
- ImageInputStream
または符号化されたイメージ・データを保持するほかのObject
。ImageReader
を保持するIterator
。IllegalArgumentException
- input
がnull
の場合。ImageReaderSpi.canDecodeInput(java.lang.Object)
public static Iterator<ImageReader> getImageReadersByFormatName(String formatName)
ImageReader
を保持するIterator
を返します。formatName
- 非公式な形式の名前(たとえば、「jpeg」や「tiff」)を保持するString
。ImageReader
を保持するIterator
。IllegalArgumentException
- formatName
がnull
の場合。ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix)
ImageReader
を保持するIterator
を返します。fileSuffix
- ファイル接尾辞(たとえば、「jpg」や「tiff」)を保持するString
。ImageReader
を保持するIterator
。IllegalArgumentException
- fileSuffix
がnull
の場合。ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType)
ImageReader
を保持するIterator
を返します。MIMEType
- ファイル接尾辞(たとえば、「image/jpeg」や「image/x-bmp」)を保持するString
。ImageReader
を保持するIterator
。IllegalArgumentException
- MIMEType
がnull
の場合。ImageReaderWriterSpi.getMIMETypes()
public static String[] getWriterFormatNames()
String
の配列を返します。String
の配列。public static String[] getWriterMIMETypes()
String
の配列を返します。String
の配列。public static String[] getWriterFileSuffixes()
String
の配列を返します。String
の配列。public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName)
ImageWriter
を保持するIterator
を返します。formatName
- 非公式な形式の名前(たとえば、「jpeg」や「tiff」)を保持するString
。ImageWriter
を保持するIterator
。IllegalArgumentException
- formatName
がnull
の場合。ImageReaderWriterSpi.getFormatNames()
public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix)
ImageWriter
を保持するIterator
を返します。fileSuffix
- ファイル接尾辞(たとえば、「jpg」や「tiff」)を保持するString
。ImageWriter
を保持するIterator
。IllegalArgumentException
- fileSuffix
がnull
の場合。ImageReaderWriterSpi.getFileSuffixes()
public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType)
ImageWriter
を保持するIterator
を返します。MIMEType
- ファイル接尾辞(たとえば、「image/jpeg」や「image/x-bmp」)を保持するString
。ImageWriter
を保持するIterator
。IllegalArgumentException
- MIMEType
がnull
の場合。ImageReaderWriterSpi.getMIMETypes()
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
- reader
がnull
の場合。getImageReader(ImageWriter)
, ImageReaderSpi.getImageWriterSpiNames()
public static ImageReader getImageReader(ImageWriter writer)
ImageWriter
に対応するImageReader
(存在する場合)を返します。または、このImageWriter
のプラグインが対応するImageReader
を指定しない場合、あるいは指定されたImageWriter
が登録されていない場合はnull
を返します。このメソッドは、主としてgetImageWriter(ImageReader)
と対称となるように提供されます。このメソッドは、javax.imageio.spi.ImageWriterSpi.getImageReaderSpiNames()
によって返されたリストの最初にある「優先設定」リーダーを返すことに注意してください。writer
- 登録されたImageWriter
のインスタンス。ImageReader
、またはnull。IllegalArgumentException
- writer
がnull
の場合。getImageWriter(ImageReader)
, ImageWriterSpi.getImageReaderSpiNames()
public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName)
ImageTypeSpecifier
を使用して指定された)のイメージを符号化できるような、現在登録されているすべてのImageWriter
を保持するIterator
を返します。type
- 書き込まれたイメージのレイアウトを示すImageTypeSpecifier
。formatName
- format
の非公式な名前。ImageWriter
を保持するIterator
。IllegalArgumentException
- 任意のパラメータがnull
の場合。ImageWriterSpi.canEncodeImage(ImageTypeSpecifier)
public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader, ImageWriter writer)
ImageReader
およびImageWriter
のメタデータ間を変換できるような、現在登録されているすべてのImageTranscoder
を保持するIterator
を返します。reader
- ImageReader
。writer
- ImageWriter
。ImageTranscoder
を保持するIterator
。IllegalArgumentException
- reader
またはwriter
がnull
の場合。public static BufferedImage read(File input) throws IOException
ImageReader
を使用して、指定されたFile
を復号化した結果として、BufferedImage
を返します。File
はImageInputStream
にラップされます。結果のストリームを読み込めるようなImageReader
が登録されていない場合は、null
が返されます。
getUseCache
およびgetCacheDirectory
からの現在のキャッシュの設定は、作成されたImageInputStream
のキャッシュの制御に使用します。
ファイル名としてString
をとるread
メソッドは存在しないことに注意してください。代わりに、ファイル名からFile
を作成したあとにこのメソッドを使用します。
このメソッドは、File
から直接読み取れるImageReader
を検索しません。この場合は、IIORegistry
とImageReaderSpi
を使用します。
input
- 読込み元のFile
。BufferedImage
、またはnull
。IllegalArgumentException
- input
がnull
の場合。IOException
- 読込み中にエラーが発生した場合。public static BufferedImage read(InputStream input) throws IOException
ImageReader
を使用して、指定されたInputStream
を復号化した結果として、BufferedImage
を返します。InputStream
はImageInputStream
にラップされます。結果のストリームを読み込めるようなImageReader
が登録されていない場合は、null
が返されます。
getUseCache
およびgetCacheDirectory
からの現在のキャッシュの設定は、作成されたImageInputStream
のキャッシュの制御に使用します。
このメソッドは、InputStream
から直接読み取れるImageReader
を検索しません。この場合は、IIORegistry
とImageReaderSpi
を使用します。
このメソッドは、読込みオペレーションの完了後、提供されたInputStream
を閉じません。ストリームを必要に応じて閉じるのは、呼出し側の役割です。
input
- 読込み元のInputStream
。BufferedImage
、またはnull
。IllegalArgumentException
- input
がnull
の場合。IOException
- 読込み中にエラーが発生した場合。public static BufferedImage read(URL input) throws IOException
ImageReader
を使用して、指定されたURL
を復号化した結果として、BufferedImage
を返します。InputStream
はImageInputStream
にラップされたURL
から取得します。結果のストリームを読み込めるようなImageReader
が登録されていない場合は、null
が返されます。
getUseCache
およびgetCacheDirectory
からの現在のキャッシュの設定は、作成されたImageInputStream
のキャッシュの制御に使用します。
このメソッドは、URL
から直接読み取れるImageReader
を検索しません。この場合は、IIORegistry
とImageReaderSpi
を使用します。
input
- 読込み元のURL
。BufferedImage
、またはnull
。IllegalArgumentException
- input
がnull
の場合。IOException
- 読込み中にエラーが発生した場合。public static BufferedImage read(ImageInputStream stream) throws IOException
ImageReader
を使用して、指定されたImageInputStream
をデコードした結果として、BufferedImage
を返します。ストリームを読み込めるようなImageReader
が登録されていない場合は、null
が返されます。
このクラスのほかの大半のメソッドとは異なり、このメソッドは、null
が返されないかぎり、読込みオペレーションの完了後に提供されたImageInputStream
を閉じます。nullが返された場合、このメソッドはストリームを閉じません。
stream
- 読込み元のImageInputStream
。BufferedImage
、またはnull
。IllegalArgumentException
- stream
がnull
の場合。IOException
- 読込み中にエラーが発生した場合。public static boolean write(RenderedImage im, String formatName, ImageOutputStream output) throws IOException
ImageOutputStream
に、指定された形式をサポートする任意のImageWriter
を使用してイメージを書き込みます。イメージは、現在のストリーム・ポインタで始まるImageOutputStream
に書き込まれ、そのポイントから前にある既存のストリーム・データ(存在する場合)を上書きします。
このメソッドは、書込みオペレーションの完了後、提供されたImageOutputStream
を閉じません。ストリームを必要に応じて閉じるのは、呼出し側の役割です。
im
- 書き込まれるRenderedImage
値。formatName
- 非公式な形式の名前を保持するString
。output
- 書き込まれるImageOutputStream
。false
。IllegalArgumentException
- 任意のパラメータがnull
の場合。IOException
- 書込み中にエラーが発生した場合。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
- 書込み中にエラーが発生した場合。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
- 書込み中にエラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.