クラスComponentSampleModel
java.lang.Object
java.awt.image.SampleModel
java.awt.image.ComponentSampleModel
- 直系の既知のサブクラス:
BandedSampleModel, PixelInterleavedSampleModel
public class ComponentSampleModel extends SampleModel
このクラスは、DataBufferのデータ要素1つに1つずつピクセルを形成する各サンプルが格納されているイメージ・データを表します。 これは、1ピクセルを形成するN個のサンプルを、N個の別個のデータ配列要素に格納します。 異なるバンドが、それぞれDataBufferの別のバンクに格納される場合があります。 イメージ・データを直接処理できるように、アクセス用メソッドが提供されています。 このクラスは、各種のインタリーブ(バンド・インタリーブ、走査線インタリーブ、およびピクセル・インタリーブなど)をサポート可能です。 ピクセル・ストライドは、同じ走査線上の同じバンドにある2つのサンプルの間にあるデータ配列要素数です。 走査線ストライドは、指定されたサンプルと次の走査線の同じ列の対応するサンプルとの間のデータ配列要素の数です。 バンド・オフセットは、各バンドが格納されているDataBufferのバンクにある最初のデータ配列要素からそのバンドの最初のサンプルまでのデータ配列要素数を示します。 バンドには0からN-1までの番号が付けられています。 このクラスは、8ビット、16ビット、または32ビット(それぞれ、
DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、またはDataBuffer.TYPE_INTを使用)で格納できる符号なし整数値を各サンプルに持つイメージ・データ、16ビット(DataBuffer.TYPE_SHORTを使用)で格納できる符号付き整数値を各サンプルに持つデータ、または符号付きfloat型またはdouble型の数値(それぞれDataBuffer.TYPE_FLOATまたはDataBuffer.TYPE_DOUBLEを使用)を各サンプルに持つデータを表すことができます。 このとき、指定されたComponentSampleModelのすべてのサンプルも、同じ精度で格納されます。 すべてのストライド、およびオフセットは、負でない数値とする必要があります。 このクラスは、TYPE_BYTE、TYPE_USHORT、TYPE_SHORT、TYPE_INT、TYPE_FLOAT、およびTYPE_DOUBLEをサポートします。 - 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明protected int[]データ配列要素にあるすべてのバンドのオフセットです。protected int[]イメージ・データのバンドを格納する各バンクのインデックスです。protected intこのComponentSampleModel内のバンド数です。protected intこのComponentSampleModel内のバンク数です。protected intこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)のピクセル・ストライドです。protected intこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)の走査線ストライドです。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets) 指定されたパラメータで、ComponentSampleModelを構築します。ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets) 指定されたパラメータで、ComponentSampleModelを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明createCompatibleSampleModel(int w, int h) 指定された幅と高さを持つ新しいComponentSampleModelを作成します。このComponentSampleModelに対応するDataBufferを構築します。createSubsetSampleModel(int[] bands) このComponentSampleModelのサブセットを持つ、新しいComponentSampleModelを構築します。final int[]すべてのバンドについて、バンドのオフセットを返します。final int[]すべてのバンクについて、バンクのインデックスを返します。getDataElements(int x, int y, Object obj, DataBuffer data) TransferType型のプリミティブ配列内の1つのピクセルのデータを返します。final intgetDataElements(int, int, Object, DataBuffer)メソッドおよび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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
フィールド詳細
-
bandOffsets
protected int[] bandOffsetsデータ配列要素にあるすべてのバンドのオフセットです。 -
bankIndices
protected int[] bankIndicesイメージ・データのバンドを格納する各バンクのインデックスです。 -
numBands
protected int numBandsこのComponentSampleModel内のバンド数です。 -
numBanks
protected int numBanksこのComponentSampleModel内のバンク数です。 -
scanlineStride
protected int scanlineStrideこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)の走査線ストライドです。 -
pixelStride
protected int pixelStrideこのComponentSampleModelで記述されるイメージ・データ領域(データ配列要素)のピクセル・ストライドです。
-
-
コンストラクタの詳細
-
ComponentSampleModel
public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets) 指定されたパラメータで、ComponentSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。 すべてのバンドは、DataBufferの最初のバンクに格納されます。- パラメータ:
dataType- サンプル格納用のデータ形式w- 記述されたイメージ・データの領域の幅(単位はピクセル)h- 記述されたイメージ・データの領域の高さ(単位はピクセル)pixelStride- 記述されるイメージ・データの領域のピクセル・ストライドscanlineStride- 記述されるイメージ・データの領域のライン・ストライドbandOffsets- すべてのバンドのオフセット- スロー:
IllegalArgumentException-wとhの両方が0より大きくない場合IllegalArgumentException-wとhの積がInteger.MAX_VALUEより大きい場合IllegalArgumentException-pixelStrideが0より小さい場合IllegalArgumentException-scanlineStrideが0より小さい場合NullPointerException-bandOffsetsがnullの場合IllegalArgumentException-bandOffsets.lengthが0の場合IllegalArgumentException-dataTypeがこのサンプル・モデルでサポートされるデータ型でない場合。
-
ComponentSampleModel
public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets) 指定されたパラメータで、ComponentSampleModelを構築します。 バンド数は、bandOffsets配列の長さによって指定されます。 異なるバンドは、DataBufferの別々のバンクに格納されます。- パラメータ:
dataType- サンプル格納用のデータ形式w- 記述されたイメージ・データの領域の幅(単位はピクセル)h- 記述されたイメージ・データの領域の高さ(単位はピクセル)pixelStride- 記述されるイメージ・データの領域のピクセル・ストライドscanlineStride- 記述されるイメージ・データの領域のライン・ストライドbankIndices- すべてのバンドのバンク・インデックスbandOffsets- すべてのバンドのバンド・オフセット- スロー:
IllegalArgumentException-wとhの両方が0より大きくない場合IllegalArgumentException-wとhの積がInteger.MAX_VALUEより大きい場合IllegalArgumentException-pixelStrideが0より小さい場合IllegalArgumentException-scanlineStrideが0より小さい場合NullPointerException-bankIndicesがnullの場合NullPointerException-bandOffsetsがnullの場合IllegalArgumentException-bandOffsets.lengthが0の場合IllegalArgumentException-bankIndicesの長さがbandOffsetsの長さと等しくない場合IllegalArgumentException-bandIndicesのバンク・インデックスのいずれかが0より小さい場合IllegalArgumentException-dataTypeがこのサンプル・モデルでサポートされるデータ型でない場合
-
-
メソッドの詳細
-
createCompatibleSampleModel
public SampleModel createCompatibleSampleModel(int w, int h) 指定された幅と高さを持つ新しいComponentSampleModelを作成します。 新しいSampleModelは、このSampleModelと同じ数のバンド、ストレージ・データ型、インタリーブ化方式、およびピクセル・ストライドを持ちます。- 定義:
createCompatibleSampleModel、クラスSampleModel- パラメータ:
w- 結果として得られるSampleModelの幅h- 結果として得られるSampleModelの高さ- 戻り値:
- 指定されたサイズを持つ新しい
ComponentSampleModel - スロー:
IllegalArgumentException-wまたはhが0以下である場合
-
createSubsetSampleModel
public SampleModel createSubsetSampleModel(int[] bands) このComponentSampleModelのサブセットを持つ、新しいComponentSampleModelを構築します。 新しいComponentSampleModelは、既存のComponentSampleModelを使用できる任意のDataBufferと組み合わせて使用できます。 新しいComponentSampleModelとDataBufferの組み合わせは、元のComponentSampleModelとDataBufferの組み合わせにあるバンドのサブセットを持つイメージを表します。- 定義:
createSubsetSampleModel、クラスSampleModel- パラメータ:
bands- このComponentSampleModelのバンドのサブセット- 戻り値:
- この
ComponentSampleModelのバンドのサブセットで作成されたComponentSampleModel。
-
createDataBuffer
public DataBuffer createDataBuffer()このComponentSampleModelに対応するDataBufferを構築します。DataBufferのデータ型、バンク数、およびサイズは、このComponentSampleModelと矛盾しません。- 定義:
createDataBuffer、クラスSampleModel- 戻り値:
- この
ComponentSampleModelとデータ型、バンク数、およびサイズが同じDataBuffer。
-
getOffset
public int getOffset(int x, int y) ピクセル(x, y)の最初のバンドのオフセットを返します。 最初のバンドのサンプルは、DataBufferdataから、ComponentSampleModelcsmを使って次のようにして取得できます。data.getElem(csm.getOffset(x, y));- パラメータ:
x- ピクセルのX位置y- ピクセルのY位置- 戻り値:
- 指定されたピクセルの最初のバンドのオフセット
-
getOffset
public int getOffset(int x, int y, int b) ピクセル(x, y)のバンドbのオフセットを返します。 バンドbのサンプルは、ComponentSampleModel csmを使用してDataBuffer dataから取得できますdata.getElem(csm.getOffset(x, y, b));- パラメータ:
x- 指定されたピクセルのX位置y- 指定されたピクセルのY位置b- 指定されたバンド- 戻り値:
- 指定されたピクセルの指定されたバンドのオフセット
-
getSampleSize
public final int[] getSampleSize()すべてのバンドのサンプルあたりのビット数を返します。- 定義:
getSampleSize、クラスSampleModel- 戻り値:
- 配列内の各要素がバンドを表す、すべてのバンドのサンプルあたりのビット数を含む配列
-
getSampleSize
public final int getSampleSize(int band) 指定されたバンドのサンプルあたりのビット数を返します。- 定義:
getSampleSize、クラスSampleModel- パラメータ:
band- 指定されたバンド- 戻り値:
- 指定されたバンドのサンプルあたりのビット数
-
getBankIndices
public final int[] getBankIndices()すべてのバンクについて、バンクのインデックスを返します。- 戻り値:
- すべてのバンクのバンク・インデックス
-
getBandOffsets
public final int[] getBandOffsets()すべてのバンドについて、バンドのオフセットを返します。- 戻り値:
- すべてのバンドのバンド・オフセット
-
getScanlineStride
public final int getScanlineStride()このComponentSampleModelの走査線ストライドを返します。- 戻り値:
- この
ComponentSampleModelの走査線ストライド。
-
getPixelStride
public final int getPixelStride()このComponentSampleModelのピクセル・ストライドを返します。- 戻り値:
- この
ComponentSampleModelのピクセル・ストライド。
-
getNumDataElements
public final int getNumDataElements()getDataElements(int, int, Object, DataBuffer)メソッドおよびsetDataElements(int, int, Object, DataBuffer)メソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。ComponentSampleModelでは、これはバンド数と等しくなります。- 定義:
getNumDataElements、クラスSampleModel- 戻り値:
getDataElementsメソッドとsetDataElementsメソッドで1ピクセルを転送するために必要なデータ要素の数。- 関連項目:
-
getDataElements
public Object getDataElements(int x, int y, Object obj, DataBuffer data) TransferType型のプリミティブ配列内の1つのピクセルのデータを返します。ComponentSampleModelでは、これはデータ型と等しくなり、サンプルが配列要素ごとに1個ずつ返されます。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。次のコードは、ストレージ・レイアウトが
ComponentSampleModel csm1で記述されているDataBuffer db1からDataBuffer db2への1ピクセルのデータの転送を示しています。そのストレージ・レイアウトはComponentSampleModel csm2で記述されています。 この転送方法は、getPixelおよびsetPixelを使う方法よりも通常効率的です。ComponentSampleModel csm1, csm2; DataBufferInt db1, db2; csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1), db2);SampleModelオブジェクトのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModelペア間の転送には、getDataElementsおよびsetDataElementsを使用するのが適切です。objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合や、objがnullでなく、ピクセル・データを格納するために十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- 定義:
getDataElements、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標y- ピクセル位置のY座標obj-nullでない場合は、ピクセル・データが返されるプリミティブ配列data- イメージ・データを格納するDataBuffer- 戻り値:
- 指定されたピクセルのデータ
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内に存在しない場合、またはobjが小さすぎて出力を保持できない場合。- 関連項目:
-
getPixel
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data) int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
getPixel、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標y- ピクセル位置のY座標iArray- nullでない場合、この配列内のサンプルを返しますdata- イメージ・データを格納するDataBuffer- 戻り値:
- 指定されたピクセルのサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内にない場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
-
getPixels
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
getPixels、クラスSampleModel- パラメータ:
x- 左上のピクセル位置のX座標。y- 左上のピクセル位置のY座標。w- ピクセル矩形の幅。h- ピクセル矩形の高さ。iArray- nullでない場合、この配列内のサンプルを返します。data- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域のサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内にない場合、wまたはhが負の場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
-
getSample
public int getSample(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- 定義:
getSample、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 返されるバンド。data- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルに対する指定されたバンドのサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
-
getSampleFloat
public float getSampleFloat(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
getSampleFloat、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 返されるバンド。data- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルに対する指定されたバンドのサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。
-
getSampleDouble
public double getSampleDouble(int x, int y, int b, DataBuffer data) (x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
getSampleDouble、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 返されるバンド。data- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルに対する指定されたバンドのサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。
-
getSamples
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data) int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
getSamples、クラスSampleModel- パラメータ:
x- 左上のピクセル位置のX座標。y- 左上のピクセル位置のY座標。w- ピクセル矩形の幅。h- ピクセル矩形の高さ。b- 返されるバンド。iArray- nullでない場合、この配列内のサンプルを返します。data- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域の指定されたバンドのサンプル
- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド索引が境界内にないか、wまたはhが負の場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
-
setDataElements
public void setDataElements(int x, int y, Object obj, DataBuffer data) 指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。ComponentSampleModelでは、これはデータ型と同じになり、サンプルは各配列要素に1個ずつ転送されます。次のコードは、ストレージ・レイアウトが
ComponentSampleModel csm1で記述されているDataBuffer db1からDataBuffer db2への1ピクセルのデータの転送を示しています。そのストレージ・レイアウトはComponentSampleModel csm2で記述されています。 この転送方法は、getPixelおよびsetPixelを使う方法よりも通常効率的です。ComponentSampleModel csm1, csm2; DataBufferInt db1, db2; csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1), db2);SampleModelオブジェクトのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModelペア間の転送には、getDataElementsおよびsetDataElementsを使用するのが適切です。objがTransferType型のプリミティブ配列でない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合や、objがピクセル・データを格納するために十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- 定義:
setDataElements、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標y- ピクセル位置のY座標obj- ピクセル・データを格納するプリミティブ配列data- イメージ・データを格納するDataBuffer- スロー:
NullPointerException-objまたはdataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内に存在しない場合、またはobjが小さすぎて入力を保持できない場合。- 関連項目:
-
setPixel
public void setPixel(int x, int y, int[] iArray, DataBuffer data) サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
setPixel、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。iArray- int配列形式の入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-iArrayまたはdataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内にない場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
-
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) 矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
setPixels、クラスSampleModel- パラメータ:
x- 左上のピクセル位置のX座標。y- 左上のピクセル位置のY座標。w- ピクセル矩形の幅。h- ピクセル矩形の高さ。iArray- int配列形式の入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-iArrayまたはdataがnullの場合。ArrayIndexOutOfBoundsException- 座標が境界内にない場合、wまたはhが負の場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
-
setSample
public void setSample(int x, int y, int b, int s, DataBuffer data) intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- 定義:
setSample、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 設定されるバンド。s- intの入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
-
setSample
public void setSample(int x, int y, int b, float s, DataBuffer data) floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 このメソッドのデフォルトの実装は、入力floatサンプルをintにキャストし、次にこのint値を使用してsetSample(int, int, int, DataBuffer)メソッドを呼び出します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
setSample、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 設定されるバンド。s- floatでの入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
-
setSample
public void setSample(int x, int y, int b, double s, DataBuffer data) doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。 このメソッドのデフォルトの実装は、入力doubleサンプルをintにキャストし、次にこのint値を使用してsetSample(int, int, int, DataBuffer)メソッドを呼び出します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
setSample、クラスSampleModel- パラメータ:
x- ピクセル位置のX座標。y- ピクセル位置のY座標。b- 設定されるバンド。s- doubleでの入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-dataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
-
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data) 指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- オーバーライド:
setSamples、クラスSampleModel- パラメータ:
x- 左上のピクセル位置のX座標。y- 左上のピクセル位置のY座標。w- ピクセル矩形の幅。h- ピクセル矩形の高さ。b- 設定されるバンド。iArray- int配列形式の入力サンプル。data- イメージ・データを格納するDataBuffer。- スロー:
NullPointerException-iArrayまたはdataがnullの場合。ArrayIndexOutOfBoundsException- 座標またはバンド索引が境界内にないか、wまたはhが負の場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
-