public final class BandedSampleModel extends ComponentSampleModel
TYPE_BYTE
、TYPE_USHORT
、TYPE_SHORT
、TYPE_INT
、TYPE_FLOAT
およびTYPE_DOUBLE
の各データ型をサポートします。 bandOffsets, bankIndices, numBands, numBanks, pixelStride, scanlineStride
dataType, height, width
コンストラクタ | 説明 |
---|---|
BandedSampleModel(int dataType, int w, int h, int numBands) |
指定されたパラメータを使ってBandedSampleModelを構築します。
|
BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets) |
指定されたパラメータを使ってBandedSampleModelを構築します。
|
修飾子と型 | メソッド | 説明 |
---|---|---|
SampleModel |
createCompatibleSampleModel(int w, int h) |
指定された幅と高さを持つ新しいBandedSampleModelを作成します。
|
DataBuffer |
createDataBuffer() |
このBandedSampleModelに対応するDataBufferを作成します。DataBufferのデータ型、バンク数、およびサイズは、このBandedSampleModelと一致します。
|
SampleModel |
createSubsetSampleModel(int[] bands) |
このBandedSampleModelのバンドのサブセットを持つ新しいBandedSampleModelを作成します。
|
Object |
getDataElements(int x, int y, Object obj, DataBuffer data) |
transferType型のプリミティブ配列内の1つのピクセルのデータを返します。
|
int[] |
getPixel(int x, int y, int[] iArray, DataBuffer data) |
指定されたピクセルのすべてのサンプルをint配列として返します。
|
int[] |
getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) |
指定された矩形のピクセルのすべてのサンプルをint配列として返します。サンプルは、データ配列要素ごとに1つです。
|
int |
getSample(int x, int y, int b, DataBuffer data) |
(x, y)に位置するピクセルの、指定されたバンド内のサンプルをintとして返します。
|
double |
getSampleDouble(int x, int y, int b, DataBuffer data) |
(x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。
|
float |
getSampleFloat(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個が対応します。
|
int |
hashCode() |
オブジェクトのハッシュ・コード値を返します。
|
void |
setDataElements(int x, int y, Object obj, DataBuffer data) |
指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。
|
void |
setPixel(int x, int y, int[] iArray, DataBuffer data) |
サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。
|
void |
setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data) |
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。
|
void |
setSample(int x, int y, int b, double s, DataBuffer data) |
doubleを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
|
void |
setSample(int x, int y, int b, float s, DataBuffer data) |
floatを入力として使用し、DataBuffer内の(x, y)に位置するピクセルの、指定されたバンド内のサンプルを設定します。
|
void |
setSample(int x, int y, int b, int s, DataBuffer data) |
intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。
|
void |
setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data) |
データ配列要素あたり1個のサンプルを格納しているint配列から、指定されたピクセル矩形の、指定されたバンドにサンプルを設定します。
|
equals, getBandOffsets, getBankIndices, getNumDataElements, getOffset, getOffset, getPixelStride, getSampleSize, getSampleSize, getScanlineStride
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples
public BandedSampleModel(int dataType, int w, int h, int numBands)
dataType
- サンプルの格納のためのデータ型。w
- 記述されたイメージ・データの領域の幅(単位はピクセル)。h
- 記述されたイメージ・データの領域の高さ(単位はピクセル)。numBands
- イメージ・データのバンド数。IllegalArgumentException
- dataType
がサポートされているデータ型でない場合public BandedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets)
dataType
- サンプルの格納のためのデータ型。w
- 記述されたイメージ・データの領域の幅(単位はピクセル)。h
- 記述されたイメージ・データの領域の高さ(単位はピクセル)。scanlineStride
- イメージ・データの走査線ストライド。bankIndices
- 各バンドのバンク・インデックス。bandOffsets
- 各バンドのバンド・オフセット。IllegalArgumentException
- dataType
がサポートされているデータ型でない場合public SampleModel createCompatibleSampleModel(int w, int h)
createCompatibleSampleModel
、クラスComponentSampleModel
w
- 結果として得られるBandedSampleModel
の幅h
- 結果として得られるBandedSampleModel
の高さBandedSampleModel
。IllegalArgumentException
- w
またはh
がInteger.MAX_VALUE
またはInteger.MIN_VALUE
と等しい場合IllegalArgumentException
- dataType
がサポートされているデータ型でない場合public SampleModel createSubsetSampleModel(int[] bands)
createSubsetSampleModel
、クラスComponentSampleModel
bands
- このComponentSampleModel
のバンドのサブセットComponentSampleModel
のバンドのサブセットで作成されたComponentSampleModel
。RasterFormatException
- バンド数がこのサンプル・モデル内のバンク数より多い場合。IllegalArgumentException
- dataType
がサポートされているデータ型でない場合public DataBuffer createDataBuffer()
createDataBuffer
、クラスComponentSampleModel
ComponentSampleModel
とデータ型、バンク数、およびサイズが同じDataBuffer
。IllegalArgumentException
- dataType
がサポートされている型でない場合。public Object getDataElements(int x, int y, Object obj, DataBuffer data)
次のコードは、BandedSampleModel bsm1
によってストレージ・レイアウトが記述されているDataBuffer db1
から、BandedSampleModel bsm2
によってストレージ・レイアウトが記述されているDataBuffer db2
へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。
BandedSampleModel bsm1, bsm2; DataBufferInt db1, db2; bsm2.setDataElements(x, y, bsm1.getDataElements(x, y, null, db1), db2);SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。
objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがnullでなく、ピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
getDataElements
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標obj
- nullでない場合は、ピクセル・データが返されるプリミティブ配列。data
- イメージ・データを格納するDataBuffer。setDataElements(int, int, Object, DataBuffer)
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
getPixel
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標iArray
- nullでない場合、この配列内のサンプルを返しますdata
- イメージ・データを格納するDataBuffersetPixel(int, int, int[], DataBuffer)
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
getPixels
、クラスComponentSampleModel
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さiArray
- nullでない場合、この配列内のサンプルを返しますdata
- イメージ・データを格納するDataBuffersetPixels(int, int, int, int, int[], DataBuffer)
public int getSample(int x, int y, int b, DataBuffer data)
getSample
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドdata
- イメージ・データを格納するDataBuffersetSample(int, int, int, int, DataBuffer)
public float getSampleFloat(int x, int y, int b, DataBuffer data)
getSampleFloat
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドdata
- イメージ・データを格納するDataBufferpublic double getSampleDouble(int x, int y, int b, DataBuffer data)
getSampleDouble
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドdata
- イメージ・データを格納するDataBufferpublic int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
getSamples
、クラスComponentSampleModel
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドiArray
- nullでない場合、この配列内のサンプルを返しますdata
- イメージ・データを格納するDataBuffersetSamples(int, int, int, int, int, int[], DataBuffer)
public void setDataElements(int x, int y, Object obj, DataBuffer data)
次のコードは、BandedSampleModel bsm1
によってストレージ・レイアウトが記述されているDataBuffer db1
から、BandedSampleModel bsm2
によってストレージ・レイアウトが記述されているDataBuffer db2
へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。
BandedSampleModel bsm1, bsm2; DataBufferInt db1, db2; bsm2.setDataElements(x, y, bsm1.getDataElements(x, y, null, db1), db2);SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。
objは、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
setDataElements
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標obj
- nullでない場合は、このオブジェクト内のプリミティブ配列を返すdata
- イメージ・データを格納するDataBuffergetDataElements(int, int, Object, DataBuffer)
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
setPixel
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標iArray
- int配列形式の入力サンプルdata
- イメージ・データを格納するDataBuffergetPixel(int, int, int[], DataBuffer)
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
setPixels
、クラスComponentSampleModel
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さiArray
- int配列形式の入力サンプルdata
- イメージ・データを格納するDataBuffergetPixels(int, int, int, int, int[], DataBuffer)
public void setSample(int x, int y, int b, int s, DataBuffer data)
setSample
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 設定されるバンドs
- intの入力サンプルdata
- イメージ・データを格納するDataBuffergetSample(int, int, int, DataBuffer)
public void setSample(int x, int y, int b, float s, DataBuffer data)
setSample
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 設定されるバンドs
- floatでの入力サンプルdata
- イメージ・データを格納するDataBuffergetSample(int, int, int, DataBuffer)
public void setSample(int x, int y, int b, double s, DataBuffer data)
setSample
、クラスComponentSampleModel
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 設定されるバンドs
- doubleでの入力サンプルdata
- イメージ・データを格納するDataBuffergetSample(int, int, int, DataBuffer)
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
setSamples
、クラスComponentSampleModel
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 設定されるバンドiArray
- 入力サンプル配列data
- イメージ・データを格納するDataBuffergetSamples(int, int, int, int, int, int[], DataBuffer)
public int hashCode()
Object
HashMap
によって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。
hashCode
の一般的な規則は次のとおりです。
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)
メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCode
メソッドの呼出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)
メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCode
メソッドの呼出しによって異なる整数の結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
クラスObject
によって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。 (これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックはJava™プログラミング言語では必要ありません。)
hashCode
、クラスComponentSampleModel
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。