パッケージjavax.imageio
ImageIO
クラスのstaticメソッドを使用して、多くの共通イメージI/O操作を実行できます。
このパッケージに含まれる基本クラスとインタフェースは、メタデータとサムネール(IIOImage
)を含むイメージ・ファイルの内容を記述するためのもの、イメージ読込み処理(ImageReader
、ImageReadParam
、ImageTypeSpecifier
)とイメージ書込み処理(ImageWriter
とImageWriteParam
)を制御するためのもの、形式間の変換(ImageTranscoder
)を実行するためのもの、エラー報告(IIOException
)を行うためのものがあります。
javax.imageioのすべての実装に、次の標準イメージ形式のプラグインが用意されています。
イメージ・フォーマット | 読込み | 書込み | ノート | メタデータ |
---|---|---|---|---|
BMP | yes | yes | none | BMPメタデータ形式 |
GIF | yes | yes | GIFプラグイン・ノート | GIFメタデータ形式 |
JPEG | yes | yes | none | JPEGメタデータ形式 |
PNG | yes | yes | none | PNGメタデータ形式 |
TIFF | yes | yes | TIFFプラグイン・ノート | TIFFメタデータ形式 |
WBMP | yes | yes | none | WBMPメタデータ形式 |
標準プラグインに関するノート
GIFイメージ形式の標準プラグイン
ImageIOは、「グラフィックス交換フォーマット(GIF)」イメージ・フォーマット用のImageReader
およびImageWriter
プラグインを提供します。 これらはJREに含まれる「標準」のGIFプラグインであり、標準拡張機能に含まれるプラグインやサード・パーティのプラグインとは異なります。 次のノートおよびメタデータ仕様が、標準プラグインに適用されます。
GIFイメージの書込み
GIFイメージ・ライター・プラグインでは、次の要件を満たすイメージの損失のない書込みが保証されます。- バンド数が1である
- サンプルごとのビット数が8以下である
- 色成分のサイズが8以下である
デフォルトでは、GIFライター・プラグインによりバージョン「89a」のイメージが作成されます。 これは、ストリーム・メタデータのバージョンを明示的に設定することにより「87a」に変更できます。GIFストリーム・メタデータ形式の仕様を参照してください。
GIFライター・プラグインを使用すると、ImageWriter
クラスで定義された標準シーケンス書込みメソッドを使用して動画GIFイメージを作成できます。
次の条件のいずれかが満たされると、グローバル・カラー表が出力ストリームに書き込まれます。
- GlobalColorTable要素を含むストリーム・メタデータが提供される
- シーケンスが書込み中であり、シーケンス内の最初のイメージに対してLocalColorTable要素を含むイメージ・メタデータが提供される
- イメージ・メタデータが提供されないか、イメージ・メタデータにLocalColorTable要素が含まれない
最初の条件が当てはまる場合はストリーム・メタデータ内のグローバル・カラー表が使用され、2番目の条件が当てはまる場合はイメージ・メタデータ内のローカル・カラー表が使用されます。3番目の条件が当てはまる場合は、(最初の)イメージのColorModelまたはSampleModelからグローバル・カラー表が作成されます。
ローカル・カラー表が出力ストリームに書き込まれるのは、LocalColorTable要素を含むイメージ・メタデータがライターに提供される場合、またはイメージ・メタデータがライターに提供されず、イメージ自体から生成されるローカル・カラー表がグローバル・カラー表と等しくない場合だけです。
Graphic Control Extensionブロックが出力ストリームに書き込まれるのは、GraphicControlExtension要素を含むイメージ・メタデータがライターに提供される場合、またはイメージ・メタデータが提供されず、イメージから生成されるローカル・カラー表に透明インデックスが必要な場合だけです。 Application、Plain Text、およびComment Extensionブロックが書き込まれるのは、これらのブロックがイメージ・メタデータを介してライターに提供される場合だけです。
インタレース・イメージの書込みは、指定したImageWriteParam
インスタンスのプログレッシブ・モードを使って制御できます。 プログレッシブ・モードがMODE_DISABLED
の場合は、インタレースでないイメージが書き込まれます。 プログレッシブ・モードがMODE_DEFAULT
の場合は、インタレース・イメージが書き込まれます。 プログレッシブ・モードがMODE_COPY_FROM_METADATA
の場合、メタデータ設定が使用されます(メタデータ設定が指定済みの場合)。メタデータ設定が指定されない場合は、インタレース・イメージが書き込まれます。
GIFイメージ・ライター・プラグ・インは、ネイティブGIFストリーム・メタデータ・フォーマットjavax_imageio_gif_stream_1.0または標準メタデータ・フォーマットjavax_imageio_1.0でライターに供給されるメタデータから出力ストリーム・メタデータを設定し、ネイティブGIFイメージ・メタデータ・フォーマットjavax_imageio_gif_image_1.0または標準メタデータ・フォーマットjavax_imageio_1.0。 標準メタデータ・フォーマットとGIFネイティブ・ストリームおよびイメージ・メタデータ・フォーマットとのマッピングは、表hereに示されています。
- 導入されたバージョン:
- 1.4
-
クラス説明読み込み/書込み操作の実行時障害を通知する例外クラスです。イメージ、サムネール(プレビュー)イメージ・セット、およびイメージに関連するメタデータを表すオブジェクトを集合させる単純なコンテナ・クラスです。ストリームをデコードまたはエンコードする方法を記述する、すべてのクラスのスーパー・クラスです。GUIを使用してユーザーから値を取得するか、またはほかの手段によって、
IIOParam
オブジェクトの設定値を判定できるオブジェクトにより実装されるインタフェースです。ImageReader
およびImageWriter
を検索する静的な簡易メソッドを保持して、簡単な符号化と復号化を実行するクラスです。イメージを解析して復号化する抽象スーパー・クラスです。ストリームが復号化される方法を記述するクラスです。メタデータ変換機能を提供するインタフェースです。イメージの形式、特にSampleModel
とColorModel
を、便利な方法で指定できるようにするクラスです。ストリームの符号化の方法を記述するクラスです。エンコードとイメージの書込みのための抽象スーパー・クラスです。