目次||

3.6変換

変換とは、イメージ・ファイルを読込みプラグインで読み込み、書込みプラグインを使って出力することで、特に、その書込みプラグインが読込みプラグインのネイティブ・メタデータの形式を直接には理解できない場合の処理のことを指します。そのような場合は、両方のプラグインが同じファイル形式を処理する場合であっても、必ずいくらかの情報の損失の恐れがあります。変換プラグインの役割は、読込みプラグインによって作成されたストリーム・メタデータおよびイメージ・メタデータを、書込みプラグインがなるべく利用しやすい形式に変換することです。変換プラグインは必ずしもAPIにインストールされている必要はありませんが、変換プラグインを、読み込みおよび書込みプラグインとまったく同様にインストールし、登録することができます。

一式の読取りおよび書込みプラグインを、それぞれのメタデータを変換プラグインを別個に用意しなくても解釈できるように設計することもできます。プラグイン同士の関係は、ImageReaderSpi.getImageWriterSpiNamesおよびImageWriterSpi.getImageReaderSpiNamesメソッドを利用して判別できます。これらのメソッドでは、そのプラグインと逆の種類のプラグインのうち、一緒に使用しても問題ないとわかっているプラグインの情報が提供されます。1つのベンダーが複数のプラグインを作成している場合は、このメカニズムにより、最高品質のものを提供します。

しかし、一緒に使用するように設計されていないプラグインを利用する場合は、読込みプラグインと書込みプラグインの特定のペアについて、そのメタデータの形式を理解している開発者が、変換プラグインを提供することができます。相手のプラグインのことを意識せずに作成されたプラグインの場合でも、変換プラグインを作成できます。

読込みプラグインと書込みプラグインの特定のペアに対して適切な変換プラグインを検索するには、次のようにします。

ImageReader reader;
ImageWriter writer;

Iterator transcoders = ImageIO.getImageTranscoders(reader, writer);


目次||

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.