JavaTM 2
Platform
Std. Ed. v1.4.0

javax.imageio
インタフェース ImageTranscoder

既知の実装クラスの一覧:
ImageWriter

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 オブジェクトを返します。
 

メソッドの詳細

convertStreamMetadata

public IIOMetadata convertStreamMetadata(IIOMetadata inData,
                                         ImageWriteParam param)
符号化に使用でき、必要に応じて、ドキュメントインタフェース、または符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。

ストリームメタデータの構造に影響を与えるような場合、オプションの code>ImageWriteParam を提供できます。

提供された ImageWriteParam に、書き込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。

パラメータ:
inData - ストリームメタデータを表し、返されたオブジェクトの状態の初期化に使用される IIOMetadata オブジェクト
param - イメージの符号化に使用される ImageWriteParam または null
戻り値:
IIOMetadata オブジェクトまたはプラグインがメタデータを符号化する機能を提供しない場合は null
例外:
IllegalArgumentException - inDatanull の場合

convertImageMetadata

public IIOMetadata convertImageMetadata(IIOMetadata inData,
                                        ImageTypeSpecifier imageType,
                                        ImageWriteParam param)
符号化に使用でき、必要に応じて、ドキュメントインタフェースまたは符号化に使用する書き込み側プラグインに固有の他のインタフェースを使用して変更できる、IIOMetadata オブジェクトを返します。

イメージメタデータの構造に影響を与えるような場合、オプションの ImageWriteParam を提供できます。

提供された ImageWriteParam に、書き込み側または変換側が理解しないオプション設定値が含まれる場合、それらの設定値は無視されます。

パラメータ:
inData - イメージメタデータを表し、戻されたオブジェクトの状態の初期化に使用される IIOMetadata オブジェクト
imageType - メタデータに関連付けられるメージの配置と配色情報を示す ImageTypeSpecifier
param - イメージの符号化に使用される ImageWriteParam または null
戻り値:
IIOMetadata オブジェクトまたはプラグインがメタデータを符号化する機能を提供しない場合は null
例外:
IllegalArgumentException - inData と code>imageType のどちらかが null の場合

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.