クラスPixelInterleavedSampleModel
java.lang.Object
java.awt.image.SampleModel
java.awt.image.ComponentSampleModel
java.awt.image.PixelInterleavedSampleModel
public class PixelInterleavedSampleModel extends ComponentSampleModel
このクラスは、ピクセル・インタリーブ化方式で格納され、ピクセルの各サンプルがDataBufferの1データ要素を占めるイメージ・データを表します。 このクラスは、ComponentSampleModelをサブクラス化しますが、ピクセル・インタリーブ化されたイメージ・データへのアクセスに、ComponentSampleModelを使うよりも効率的な実装を提供します。 このクラスは、すべてのバンドのサンプル・データをDataBufferの単一バンクに格納します。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されているDataBufferのバンクにある最初のデータ配列要素からそのバンドの最初のサンプルまでのデータ配列要素数を示します。 バンドには0からN-1までの番号が付けられています。 バンク・インデックスは、データ・バッファのバンクと、イメージ・データのバンドとの対応を示します。 このクラスは、
TYPE_BYTE、TYPE_USHORT、TYPE_SHORT、TYPE_INT、TYPE_FLOAT、およびTYPE_DOUBLEの各データ型をサポートします。 -
フィールドのサマリー
クラスで宣言されたフィールド ComponentSampleModel
bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride修飾子と型フィールド説明protected int[]データ配列要素にあるすべてのバンドのオフセットです。protected int[]イメージ・データのバンドを格納する各バンクのインデックスです。protected intこのComponentSampleModel内のバンド数です。protected intこのComponentSampleModel内のバンク数です。protected intこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)のピクセル・ストライドです。protected intこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)の走査線ストライドです。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets) 指定されたパラメータを持つPixelInterleavedSampleModelを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明createCompatibleSampleModel(int w, int h) 指定された幅と高さを持つ新しいPixelInterleavedSampleModelを生成します。createSubsetSampleModel(int[] bands) このPixelInterleavedSampleModelのバンドのサブセットを持つ新しいPixelInterleavedSampleModelを生成します。クラスで宣言されたメソッド ComponentSampleModel
createDataBuffer, getBandOffsets, getBankIndices, getDataElements, getNumDataElements, getOffset, getOffset, getPixel, getPixels, getPixelStride, getSample, getSampleDouble, getSampleFloat, getSamples, getSampleSize, getSampleSize, getScanlineStride, setDataElements, setPixel, setPixels, setSample, setSample, setSample, setSamples修飾子と型メソッド説明このComponentSampleModelに対応するDataBufferを構築します。final int[]すべてのバンドについて、バンドのオフセットを返します。final int[]すべてのバンクについて、バンクのインデックスを返します。getDataElements(int x, int y, Object obj, DataBuffer data) TransferType型のプリミティブ配列内の1つのピクセルのデータを返します。final intComponentSampleModel.getDataElements(int, int, Object, DataBuffer)メソッドおよびComponentSampleModel.setDataElements(int, int, Object, DataBuffer)メソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。intgetOffset(int x, int y) ピクセル(x, y)の最初のバンドのオフセットを返します。intgetOffset(int x, int y, int b) ピクセル(x, y)のバンドbのオフセットを返します。int[]getPixel(int x, int y, int[] iArray, DataBuffer data) int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。int[]getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。final intこのComponentSampleModelのピクセル・ストライドを返します。intgetSample(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。doublegetSampleDouble(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。floatgetSampleFloat(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。int[]getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data) int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。final int[]すべてのバンドのサンプルあたりのビット数を返します。final intgetSampleSize(int band) 指定されたバンドのサンプルあたりのビット数を返します。final intこのComponentSampleModelの走査線ストライドを返します。voidsetDataElements(int x, int y, Object obj, DataBuffer data) 指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。voidsetPixel(int x, int y, int[] iArray, DataBuffer data) サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。voidsetPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) 矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。voidsetSample(int x, int y, int b, double s, DataBuffer data) doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。voidsetSample(int x, int y, int b, float s, DataBuffer data) floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。voidsetSample(int x, int y, int b, int s, DataBuffer data) intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。voidsetSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data) 指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。クラスで宣言されたメソッド SampleModel
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples修飾子と型メソッド説明getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。final intピクセル・データが格納されているDataBufferのデータ型を返します。final int高さをピクセル数で返します。final intイメージ・データのバンドの総数を返します。double[]getPixel(int x, int y, double[] dArray, DataBuffer data) doubleの配列内の指定されたピクセルのサンプルを返します。float[]getPixel(int x, int y, float[] fArray, DataBuffer data) floatの配列内の指定されたピクセルのサンプルを返します。double[]getPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data) double配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。float[]getPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data) float配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。double[]getSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data) double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。float[]getSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data) float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。intgetDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。final intgetWidth()幅をピクセル数で返します。voidsetDataElements(int x, int y, int w, int h, Object obj, DataBuffer data) TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。voidsetPixel(int x, int y, double[] dArray, DataBuffer data) サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。voidsetPixel(int x, int y, float[] fArray, DataBuffer data) サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。voidsetPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data) 矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。voidsetPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data) 矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。voidsetSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data) 指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。voidsetSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data) 指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
PixelInterleavedSampleModel
public PixelInterleavedSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets) 指定されたパラメータを持つPixelInterleavedSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。- パラメータ:
dataType- サンプルの格納のためのデータ型。w- 記述されたイメージ・データの領域の幅(単位はピクセル)。h- 記述されたイメージ・データの領域の高さ(単位はピクセル)。pixelStride- イメージ・データのピクセル・ストライド。scanlineStride- イメージ・データの走査線ストライド。bandOffsets- すべてのバンドのオフセット。- スロー:
IllegalArgumentException-wまたはhが0以下である場合IllegalArgumentException- バンド間のオフセットのいずれかが走査線ストライドより大きい場合IllegalArgumentException-pixelStrideとwの積がscanlineStrideより大きい場合IllegalArgumentException-pixelStrideがバンド間のオフセットより小さい場合IllegalArgumentException-dataTypeがサポートされているデータ型でない場合
-
-
メソッドの詳細
-
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h) 指定された幅と高さを持つ新しいPixelInterleavedSampleModelを生成します。 新しいPixelInterleavedSampleModelは、このPixelInterleavedSampleModelと同じバンド数、ストレージ・データ型、ピクセル・ストライドを持ちます。 バンド・オフセットは、すべてのバンド・オフセットの最小値がゼロになるように圧縮できます。- オーバーライド:
createCompatibleSampleModel、クラスComponentSampleModel- パラメータ:
w- 結果として得られるSampleModelの幅h- 結果として得られるSampleModelの高さ- 戻り値:
- 指定された幅と高さを持つ新しい
SampleModel。 - スロー:
IllegalArgumentException-wまたはhが0以下である場合
-
createSubsetSampleModel
public SampleModel createSubsetSampleModel(int[] bands) このPixelInterleavedSampleModelのバンドのサブセットを持つ新しいPixelInterleavedSampleModelを生成します。 新しいPixelInterleavedSampleModelは、既存のPixelInterleavedSampleModelと組み合わせて使用できるDataBufferであればどのDataBufferとも組み合わせて使用できます。 新しいPixelInterleavedSampleModelとDataBufferの組み合わせは、元の組み合わせのバンドのサブセットを持つイメージを表します。- オーバーライド:
createSubsetSampleModel、クラスComponentSampleModel- パラメータ:
bands- このComponentSampleModelのバンドのサブセット- 戻り値:
- この
ComponentSampleModelのバンドのサブセットで作成されたComponentSampleModel。
-