public interface ImageTranscoder
読込みに続いて書き込みするだけで、すべてのイメージを変換、つまりもともと保存されていたイメージとは違う形式で書き込むことができます。ただし、形式の違いのため、この処理中にデータが損失する可能性があります。
一般に、もっとも良い結果が得られるのは、形式固有のメタデータ・オブジェクトを作成して、イメージとそれに関連付けられたメタデータについてできるだけ多くの情報をカプセル化できる場合です。符号化に使用される固有のImageWriter
によって理解されるためです。
ImageTranscoder
は、ストリームごと、イメージごとのメタデータを表すImageReader
が提供するIIOMetadata
オブジェクトを、特定のImageWriter
が符号化するのに適した、対応するオブジェクトに変換するために使用します。このインタフェースのメソッドが直接ImageWriter
上に呼び出される場合、出力はその書込み側に適したものとなります。
IIOMetadata
オブジェクトを書込み側の固有の形式に変換するときの内部詳細は、その変換する操作のコンテキストに応じて変わります。通常、ImageWriter
は、書込み側が認識できる追加インタフェースが入力オブジェクトに実装されているかどうかを調べます。たとえば、書込み側と同じメーカーが書き込んだ、読込み側のプラグインでの読込み操作によってオブジェクトが取得された場合などがこれにあたります。この場合、プラグイン固有のインタフェースにより、書込み側は入力オブジェクトにアクセスできます。イメージ・ファイル形式が一定に保たれていれば、ほとんど損失なく再符号化できます。形式が変更されても、書込み側はできるだけ多くの情報を保存しようとします。
入力オブジェクトが書込み側で認識できる追加インタフェースを実装しない場合、書込み側が選択できるのは、IIOMetadata.getAsTree
で提供されるツリー表示のような、標準IIOMetadata
インタフェースを介したアクセスだけです。この場合、情報の大部分が失われる可能性があります。
独立したImageTranscoder
は基本的に、上記の例の書込み側プラグインと同じ機能を持ちます。これは読込み側プラグインと書込み側プラグインの両方が使用するprivateインタフェースを認識し、書込み側で使用できるオブジェクトを手動でインスタンス化します。生成されるメタデータ・オブジェクトは、書込み側から直接使用できます。
ImageTranscoder
の独立した実装は、標準APIの一部としては提供されていません。むしろ、このインタフェースの目的は、アプリケーションが必要に応じて実装を発見し、作成する方法を提供することです。
修飾子と型 | メソッドと説明 |
---|---|
IIOMetadata |
convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
符号化に使用でき、必要に応じて、ドキュメント・インタフェースまたは符号化に使用する書込み側プラグインに固有のほかのインタフェースを使用して変更できる、
IIOMetadata オブジェクトを返します。 |
IIOMetadata |
convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
符号化に使用でき、必要に応じて、ドキュメント・インタフェースまたは符号化に使用する書込み側プラグインに固有のほかのインタフェースを使用して変更できる、
IIOMetadata オブジェクトを返します。 |
IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
IIOMetadata
オブジェクトを返します。
ストリーム・メタデータの構造に影響を与える場合のために、オプションのImageWriteParam
を提供できます。
提供されたImageWriteParam
に、書込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。
inData
- ストリーム・メタデータを表し、返されたオブジェクトの状態の初期化に使用されるIIOMetadata
オブジェクト。param
- イメージの符号化に使用されるImageWriteParam
、またはnull
。IIOMetadata
オブジェクト、またはプラグインがメタデータを符号化する機能を提供しない場合はnull
。IllegalArgumentException
- inData
がnull
の場合。IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param)
IIOMetadata
オブジェクトを返します。
イメージ・メタデータの構造に影響を与える場合のために、オプションのImageWriteParam
を提供できます。
提供されたImageWriteParam
に、書込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。
inData
- イメージ・メタデータを表し、返されたオブジェクトの状態の初期化に使用されるIIOMetadata
オブジェクト。imageType
- メタデータに関連付けられるイメージの配置と配色情報を示すImageTypeSpecifier
。param
- イメージの符号化に使用されるImageWriteParam
、またはnull
。IIOMetadata
オブジェクト、またはプラグインがメタデータを符号化する機能を提供しない場合はnull
。IllegalArgumentException
- inData
とimageType
のどちらかがnull
である場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.