モジュール java.desktop
パッケージ javax.imageio

クラスImageWriteParam

java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageWriteParam
直系の既知のサブクラス:
BMPImageWriteParam, JPEGImageWriteParam

public class ImageWriteParam extends IIOParam
ストリームの符号化の方法を記述するクラスです。 このクラスまたはサブクラスのインスタンスは、ImageWriterのインスタンスへ規定の「方法」についての情報を提供するために使用されます。

特定のイメージ形式のためのプラグインで、このクラスのサブクラスを定義し、ImageWriterが実装するgetDefaultWriteParamメソッドからそのクラスのオブジェクトを返すことができます。 たとえば、組み込みJPEGの書込み側プラグインは、javax.imageio.plugins.jpeg.JPEGImageWriteParamのインスタンスを返します。

書き込むイメージの範囲は、まずIIOParam.setSourceRegionがあれば、これが指定する矩形と、イメージの実際の範囲が交差することにより決定されます。 生成される矩形の幅または高さが0の場合、書込み側はIIOExceptionをスローします。 交差がある場合、最初にサブサンプルされたピクセルで書込みが始まり、IIOParam.setSourceSubsamplingで指定される水平および垂直のサブサンプリング係数に従って、交差した範囲内に追加のピクセルを組み込みます。

タイリング、プログレッシブ・エンコーディング、圧縮のような個々の機能は、4つのモードのうちの1つに設定できます。 MODE_DISABLEDは機能を使用不可にします。MODE_DEFAULTは、書込み側で制御されるパラメータ値で機能を使用可能にします。MODE_EXPLICITは機能を使用可能にし、追加パラメータを提供するためのsetメソッドを使用可能にします。MODE_COPY_FROM_METADATAは、書込み側に渡されるストリームとイメージ・メタデータ・オブジェクトから、該当するパラメータ値をコピーします。 すべての機能のデフォルトは、MODE_COPY_FROM_METADATAです。 標準以外の機能をサブクラス内で提供することは推奨しますが、同様のスキームの使用には不要です。

プラグインの書込み側は、プラグイン固有の追加のインタフェースを実装するサブクラスを提供することにより、ImageWriteParamの機能を拡張できます。 どのインタフェースが利用可能か、それがどのように使用されるかは、プラグインによります。 書込み側では、認識しないImageWriteParamサブクラスの拡張機能はそのまま無視します。 また、getDefaultWriteParamを介して、読取り側自体のImageWriteParamインスタンスを作成する場合、通常、使用不可であるオプション機能はすべて無視されます。

クエリー・メソッドは、将来のために用意されている場合を除き、ImageWriterのすべての実装でサポートされる必要があります。たとえば、プログレッシブ・エンコーディングはオプションですが、サブサンプリングはサポートされる必要があります。

関連項目: