- java.lang.Object
-
- java.awt.image.SampleModel
-
public abstract class SampleModel extends Object
この抽象クラスは、イメージにあるピクセルのサンプルを抽出するインタフェースを定義します。 イメージ・データはすべて、ピクセルのコレクションとして表現されます。 各ピクセルは多数のサンプルで構成されます。 サンプルはイメージの1バンドのデータです。バンドはイメージにある特定のタイプのすべてのサンプルで構成されます。 たとえばピクセルが、赤色成分、緑色成分、青色成分を表す3つのサンプルを含んでいるとします。 このピクセルを含むイメージには3つのバンドがあります。 1つのバンドはイメージのすべてのピクセルのすべての赤色サンプルで構成されます。 2つめのバンドはすべての緑色サンプルで構成され、残りのバンドはすべての青色サンプルで構成されます。 ピクセルはさまざまな形式で格納できます。 たとえば、特定のバンドのすべてのサンプルを連続して格納したり、単一のピクセルのすべてのサンプルを連続して格納したりできます。SampleModelのサブクラスは、unsigned 8-bit byte、signed 16-bit shortなどの、表現可能なサンプルのデータ型を指定します。メモリー上でのサンプルの配置方法も指定可能です。 Java 2D(TM) APIでは、組込み型のイメージ処理演算子では、使用可能なすべてのサンプル・データ型の演算を行わず、16ビット以下の符号なし整数のサンプルの演算だけを実行します。 演算子によっては、より多くのサンプル・データ型に対応しているものもあります。
ピクセルの集合は、DataBufferとSampleModelで構成されるRasterとして表されます。 SampleModelを使うと、DataBuffer内のサンプルにアクセスできます。また、DataBufferでサンプルおよびピクセルを直接操作するためにプログラマが使用できる低レベルの情報を提供します。
このクラスは、一般にはイメージ処理のためのフォール・バック・メソッドです。 より効率的にコードを記述すれば、適切なサブクラスにSampleModelをキャストして、DataBufferのピクセルを直接操作するために必要な情報を抽出できます。
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 SampleModel(int dataType, int w, int h, int numBands)
指定されたパラメータを使ってSampleModelを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract SampleModel
createCompatibleSampleModel(int w, int h)
このSampleModelの形式でデータが記述されている、幅と高さが異なるSampleModelを生成します。abstract DataBuffer
createDataBuffer()
このSampleModelに対応するDataBufferを生成します。abstract SampleModel
createSubsetSampleModel(int[] bands)
このSampleModelのバンドのサブセットを使って新しいSampleModelを生成します。Object
getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。abstract Object
getDataElements(int x, int y, Object obj, DataBuffer data)
transferType型のプリミティブ配列内の1つのピクセルのデータを返します。int
getDataType()
ピクセル・データが格納されているDataBufferのデータ型を返します。int
getHeight()
高さをピクセル数で返します。int
getNumBands()
イメージ・データのバンドの総数を返します。abstract int
getNumDataElements()
getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。double[]
getPixel(int x, int y, double[] dArray, DataBuffer data)
doubleの配列内の指定されたピクセルのサンプルを返します。float[]
getPixel(int x, int y, float[] fArray, DataBuffer data)
floatの配列内の指定されたピクセルのサンプルを返します。int[]
getPixel(int x, int y, int[] iArray, DataBuffer data)
int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。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つのサンプルが返されます。int[]
getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。abstract 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として返します。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つのサンプルが返されます。int[]
getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。abstract int[]
getSampleSize()
すべてのバンドについて、サンプルのビットのサイズを返します。abstract int
getSampleSize(int band)
指定されたバンドについて、サンプルのビットのサイズを返します。int
getTransferType()
getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。int
getWidth()
幅をピクセル数で返します。void
setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。abstract void
setDataElements(int x, int y, Object obj, DataBuffer data)
指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。void
setPixel(int x, int y, double[] dArray, DataBuffer data)
サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。void
setPixel(int x, int y, float[] fArray, DataBuffer data)
サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。void
setPixel(int x, int y, int[] iArray, DataBuffer data)
サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。void
setPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。void
setPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。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)に位置するピクセルの、指定されたバンド内のサンプルを設定します。abstract 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, double[] dArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。void
setSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。void
setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。
-
-
-
フィールドの詳細
-
width
protected int width
このSampleModelが記述するイメージ・データの領域の幅(単位はピクセル)です。
-
height
protected int height
このSampleModelが記述するイメージ・データの領域の高さ(単位はピクセル)です。
-
numBands
protected int numBands
このSampleModelが記述するイメージ・データのバンド数です。
-
dataType
protected int dataType
ピクセル・データを格納するDataBufferのデータ型です。- 関連項目:
DataBuffer
-
-
コンストラクタの詳細
-
SampleModel
public SampleModel(int dataType, int w, int h, int numBands)
指定されたパラメータを使ってSampleModelを構築します。- パラメータ:
dataType
- ピクセル・データを格納するDataBufferのデータ型。w
- イメージ・データの領域の幅(単位はピクセル)。h
- イメージ・データの領域の高さ(単位はピクセル)。numBands
- イメージ・データのバンド数。- 例外:
IllegalArgumentException
-w
またはh
が0以下である場合IllegalArgumentException
-w
とh
の積がInteger.MAX_VALUE
より大きい場合IllegalArgumentException
-dataType
がサポートされているデータ型でない場合
-
-
メソッドの詳細
-
getWidth
public final int getWidth()
幅をピクセル数で返します。- 戻り値:
- この
SampleModel
が記述するイメージ・データの領域の幅(ピクセル単位)。
-
getHeight
public final int getHeight()
高さをピクセル数で返します。- 戻り値:
- この
SampleModel
が記述するイメージ・データの領域の高さ(ピクセル単位)。
-
getNumBands
public final int getNumBands()
イメージ・データのバンドの総数を返します。- 戻り値:
- この
SampleModel
が記述するイメージ・データのバンド数。
-
getNumDataElements
public abstract int getNumDataElements()
getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。 これらのメソッドでは、ピクセルがパックされた形式で転送される場合と展開された形式で転送される場合があり、これは、SampleModelの実装によって決まります。 これらのメソッドを使うと、ピクセルはgetTransferType()によって指定されるプリミティブ型のgetNumDataElements()要素の配列として転送されます。 TransferTypeは、ストレージDataTypeと同じでも、異なっていてもかまいません。
-
getDataType
public final int getDataType()
ピクセル・データが格納されているDataBufferのデータ型を返します。- 戻り値:
- データ型。
-
getTransferType
public int getTransferType()
getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。 これらのメソッドでは、ピクセルがパックされた形式で転送される場合と展開された形式で転送される場合があり、これは、SampleModelの実装によって決まります。 これらのメソッドを使うと、ピクセルはgetTransferType()によって指定されるプリミティブ型のgetNumDataElements()要素の配列として転送されます。 TransferTypeは、ストレージDataTypeと同じでも、異なっていてもかまいません。 TransferTypeはDataBufferで定義されている型のどれかになります。
-
getPixel
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
int配列内の指定されたピクセルのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標y
- ピクセル位置のY座標iArray
- nullでない場合、この配列内のサンプルを返しますdata
- イメージ・データを格納するDataBuffer- 戻り値:
- 指定されたピクセルのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixel(int, int, int[], DataBuffer)
-
getDataElements
public abstract Object getDataElements(int x, int y, Object obj, DataBuffer data)
transferType型のプリミティブ配列内の1つのピクセルのデータを返します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 データはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。次のコードは、SampleModel
sm1
によってストレージ・レイアウトが記述されているDataBufferdb1
から、SampleModelsm2
によってストレージ・レイアウトが記述されているDataBufferdb2
へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。SampleModel sm1, sm2; DataBuffer db1, db2; sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1), db2);
SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがnullでなく、ピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。obj
- nullでない場合は、ピクセル・データが返されるプリミティブ配列。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルのデータ要素
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはobjが小さすぎて出力を保持できない場合。- 関連項目:
getNumDataElements()
,getTransferType()
,DataBuffer
,setDataElements(int, int, Object, DataBuffer)
-
getDataElements
public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 データはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。 通常は、Objectが自動的に作成され、正しい基本データ型になるように、objにはnullが渡されます。次のコードは、SampleModel
sm1
によってストレージ・レイアウトが記述されているDataBufferdb1
から、SampleModelsm2
によってストレージ・レイアウトが記述されているDataBufferdb2
へ、ピクセルの矩形領域のデータを転送する例です。 通常、この転送はgetPixels/setPixelsを使うよりも効率的です。SampleModel sm1, sm2; DataBuffer db1, db2; sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h, null, db1), db2);
SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。objがnullでない場合は、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがnullでなく、ピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
- パラメータ:
x
- ピクセル矩形の最小のX座標。y
- ピクセル矩形の最小のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。obj
- nullでない場合は、ピクセル・データが返されるプリミティブ配列。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域のデータ要素
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはobjが小さすぎて出力を保持できない場合。- 関連項目:
getNumDataElements()
、getTransferType()
、setDataElements(int, int, int, int, Object, DataBuffer)
、DataBuffer
-
setDataElements
public abstract void setDataElements(int x, int y, Object obj, DataBuffer data)
指定されたDataBufferの1つのピクセルのデータを、TransferType型のプリミティブ配列から設定します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。次のコードは、SampleModel
sm1
によってストレージ・レイアウトが記述されているDataBufferdb1
から、SampleModelsm2
によってストレージ・レイアウトが記述されているDataBufferdb2
へ、1ピクセルのデータを転送する例です。 通常、この転送はgetPixelとsetPixelを使うよりも効率的です。SampleModel sm1, sm2; DataBuffer db1, db2; sm2.setDataElements(x, y, sm1.getDataElements(x, y, null, db1), db2);
SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。objは、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。obj
- ピクセル・データを格納するプリミティブ配列。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはobjが小さすぎて入力を保持できない場合。- 関連項目:
getNumDataElements()
、getTransferType()
、getDataElements(int, int, Object, DataBuffer)
、DataBuffer
-
setDataElements
public void setDataElements(int x, int y, int w, int h, Object obj, DataBuffer data)
TransferType型のプリミティブ配列から、指定されたDataBuffer内のピクセル矩形のデータを設定します。 Java 2D APIによってサポートされているイメージ・データの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、またはDataBuffer.TYPE_DOUBLEのいずれかになります。 配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。次のコードは、SampleModel
sm1
によってストレージ・レイアウトが記述されているDataBufferdb1
から、SampleModelsm2
によってストレージ・レイアウトが記述されているDataBufferdb2
へ、ピクセルの矩形領域のデータを転送する例です。 通常、この転送はgetPixels/setPixelsを使うよりも効率的です。SampleModel sm1, sm2; DataBuffer db1, db2; sm2.setDataElements(x, y, w, h, sm1.getDataElements(x, y, w, h, null, db1), db2);
SampleModelのバンド数が同じで、対応するバンドのサンプルあたりのビット数が同じで、TransferTypeが同じである場合、2つのDataBuffer/SampleModel間の転送には、getDataElements/setDataElementsを使用するのが適切です。objは、TransferType型のプリミティブ配列になります。 そうでない場合は、ClassCastExceptionがスローされます。 座標が境界内にない場合、またはobjがピクセル・データを格納するために十分なサイズでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
- パラメータ:
x
- ピクセル矩形の最小のX座標。y
- ピクセル矩形の最小のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。obj
- ピクセル・データを格納するプリミティブ配列。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはobjが小さすぎて入力を保持できない場合。- 関連項目:
getNumDataElements()
、getTransferType()
、getDataElements(int, int, int, int, Object, DataBuffer)
、DataBuffer
-
getPixel
public float[] getPixel(int x, int y, float[] fArray, DataBuffer data)
floatの配列内の指定されたピクセルのサンプルを返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。fArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixel(int, int, float[], DataBuffer)
-
getPixel
public double[] getPixel(int x, int y, double[] dArray, DataBuffer data)
doubleの配列内の指定されたピクセルのサンプルを返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。dArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixel(int, int, double[], DataBuffer)
-
getPixels
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
int配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。iArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域のサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixels(int, int, int, int, int[], DataBuffer)
-
getPixels
public float[] getPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
float配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。fArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域のサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixels(int, int, int, int, float[], DataBuffer)
-
getPixels
public double[] getPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
double配列のピクセル矩形のすべてのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。dArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域のサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。- 関連項目:
setPixels(int, int, int, int, double[], DataBuffer)
-
getSample
public abstract int getSample(int x, int y, int b, DataBuffer data)
(x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。b
- 返されるバンド。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセルに対する指定されたバンドのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
setSample(int, int, int, int, DataBuffer)
-
getSampleFloat
public float getSampleFloat(int x, int y, int b, DataBuffer data)
(x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
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がスローされます。- パラメータ:
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がスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 返されるバンド。iArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域の指定されたバンドのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。- 関連項目:
setSamples(int, int, int, int, int, int[], DataBuffer)
-
getSamples
public float[] getSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 返されるバンド。fArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域の指定されたバンドのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。- 関連項目:
setSamples(int, int, int, int, int, float[], DataBuffer)
-
getSamples
public double[] getSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 返されるバンド。dArray
- nullでない場合、この配列内のサンプルを返します。data
- イメージ・データを格納するDataBuffer。- 戻り値:
- 指定されたピクセル領域の指定されたバンドのサンプル
- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。- 関連項目:
setSamples(int, int, int, int, int, double[], DataBuffer)
-
setPixel
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
サンプルのint配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。iArray
- int配列形式の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- iArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixel(int, int, int[], DataBuffer)
-
setPixel
public void setPixel(int x, int y, float[] fArray, DataBuffer data)
サンプルのfloat配列を入力として使ってDataBuffer内のピクセルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。fArray
- float配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- fArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixel(int, int, float[], DataBuffer)
-
setPixel
public void setPixel(int x, int y, double[] dArray, DataBuffer data)
サンプルのdouble配列を入力として、DataBuffer内のピクセルを設定します。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。dArray
- double配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixel(int, int, double[], DataBuffer)
-
setPixels
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。iArray
- int配列形式の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- iArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixels(int, int, int, int, int[], DataBuffer)
-
setPixels
public void setPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。fArray
- float配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- fArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixels(int, int, int, int, float[], DataBuffer)
-
setPixels
public void setPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。dArray
- double配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。- 関連項目:
getPixels(int, int, int, int, double[], DataBuffer)
-
setSample
public abstract void setSample(int x, int y, int b, int s, DataBuffer data)
intを入力とし、DataBufferの(x,y)に位置するピクセルの、指定されたバンドのサンプルを設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。b
- 設定されるバンド。s
- intの入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
getSample(int, int, int, DataBuffer)
-
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がスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。b
- 設定されるバンド。s
- floatでの入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
getSample(int, int, int, DataBuffer)
-
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がスローされます。- パラメータ:
x
- ピクセル位置のX座標。y
- ピクセル位置のY座標。b
- 設定されるバンド。s
- doubleでの入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dataがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。- 関連項目:
getSample(int, int, int, DataBuffer)
-
setSamples
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているint配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 設定されるバンド。iArray
- int配列形式の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- iArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて入力を保持できない場合。- 関連項目:
getSamples(int, int, int, int, int, int[], DataBuffer)
-
setSamples
public void setSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているfloat配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 設定されるバンド。fArray
- float配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- fArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて入力を保持できない場合。- 関連項目:
getSamples(int, int, int, int, int, float[], DataBuffer)
-
setSamples
public void setSamples(int x, int y, int w, int h, int b, double[] dArray, DataBuffer data)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに1つのサンプルが格納されているdouble配列から設定します。 座標が境界内にない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。- パラメータ:
x
- 左上のピクセル位置のX座標。y
- 左上のピクセル位置のY座標。w
- ピクセル矩形の幅。h
- ピクセル矩形の高さ。b
- 設定されるバンド。dArray
- double配列の入力サンプル。data
- イメージ・データを格納するDataBuffer。- 例外:
NullPointerException
- dArrayまたはデータがnullの場合。ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて入力を保持できない場合。- 関連項目:
getSamples(int, int, int, int, int, double[], DataBuffer)
-
createCompatibleSampleModel
public abstract SampleModel createCompatibleSampleModel(int w, int h)
このSampleModelの形式でデータが記述されている、幅と高さが異なるSampleModelを生成します。- パラメータ:
w
- イメージ・データの幅h
- イメージ・データの高さ- 戻り値:
- この
SampleModel
と同じイメージ・データを記述し、サイズが異なるSampleModel
。
-
createSubsetSampleModel
public abstract SampleModel createSubsetSampleModel(int[] bands)
このSampleModelのバンドのサブセットを使って新しいSampleModelを生成します。- パラメータ:
bands
- このSampleModel
のバンドのサブセット- 戻り値:
- この
SampleModel
のバンドのサブセットを持つSampleModel
。
-
createDataBuffer
public abstract DataBuffer createDataBuffer()
このSampleModelに対応するDataBufferを生成します。 DataBufferの幅と高さはこのSampleModelの幅と高さと一致します。- 戻り値:
- この
SampleModel
に対するDataBuffer
。
-
getSampleSize
public abstract int[] getSampleSize()
すべてのバンドについて、サンプルのビットのサイズを返します。- 戻り値:
- すべてのバンドについてのサンプルのサイズ。
-
getSampleSize
public abstract int getSampleSize(int band)
指定されたバンドについて、サンプルのビットのサイズを返します。- パラメータ:
band
- 指定されたバンド- 戻り値:
- 指定されたバンドのサンプルのサイズ
-
-