JavaTM Platform
Standard Ed. 6

java.awt.image
クラス SampleModel

java.lang.Object
  上位を拡張 java.awt.image.SampleModel
直系の既知のサブクラス:
ComponentSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel

public abstract class SampleModel
extends Object

この abstract クラスは、イメージにあるピクセルのサンプルを抽出するインタフェースを定義します。イメージデータはすべて、ピクセルのコレクションとして表現されます。各ピクセルは多数のサンプルで構成されます。サンプルはイメージの 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 のピクセルを直接操作するために必要な情報を抽出できます。

関連項目:
DataBuffer, Raster, ComponentSampleModel, PixelInterleavedSampleModel, BandedSampleModel, MultiPixelPackedSampleModel, SinglePixelPackedSampleModel

フィールドの概要
protected  int dataType
          ピクセルデータを格納する DataBuffer のデータ型です。
protected  int height
          この SampleModel が記述するイメージデータの領域の高さ (単位はピクセル) です。
protected  int numBands
          この SampleModel が記述するイメージデータのバンド数です。
protected  int width
          この SampleModel が記述するイメージデータの領域の幅 (単位はピクセル) です。
 
コンストラクタの概要
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 配列内の指定されたピクセルのサンプルを返します。
 double[] getPixels(int x, int y, int w, int h, double[] dArray, DataBuffer data)
          double 配列のピクセル矩形のすべてのサンプルを返します。
 float[] getPixels(int x, int y, int w, int h, float[] fArray, DataBuffer data)
          float 配列のピクセル矩形のすべてのサンプルを返します。
 int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
          int 配列のピクセル矩形のすべてのサンプルを返します。
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 配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。
 float[] getSamples(int x, int y, int w, int h, int b, float[] fArray, DataBuffer data)
          float 配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。
 int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
          int 配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。
abstract  int[] getSampleSize()
          すべてのバンドについて、サンプルのビットのサイズを返します。
abstract  int getSampleSize(int band)
          指定されたバンドについて、サンプルのビットのサイズを返します。
 int getTransferType()
          getDataElements メソッドと setDataElements メソッドで、1 つのピクセルを転送するために必要なデータ要素の数を返します。
 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)
          TransferType 型のプリミティブ配列からの、指定した DataBuffer 内の 1 つのピクセルのデータを設定します。
 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 配列から設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

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 - wh の積が 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 と同じでも、異なっていてもかまいません。

戻り値:
データ要素数
関連項目:
getDataElements(int, int, Object, DataBuffer), getDataElements(int, int, int, int, Object, DataBuffer), setDataElements(int, int, Object, DataBuffer), setDataElements(int, int, int, int, Object, DataBuffer), getTransferType()

getDataType

public final int getDataType()
ピクセルデータが格納されている DataBuffer のデータ型を返します。

戻り値:
データ型

getTransferType

public int getTransferType()
getDataElements メソッドと setDataElements メソッドで、1 つのピクセルを転送するために必要なデータ要素の数を返します。これらのメソッドでは、ピクセルがパックされた形式で転送される場合とアンパックされた形式で転送される場合があり、これは、SampleModel の実装によって決まります。これらのメソッドを使うと、ピクセルは getTransferType() によって指定されるプリミティブ型の getNumDataElements() 要素の配列として転送されます。TransferType は、ストレージ DataType と同じでも、異なっていてもかまいません。TransferType は DataBuffer で定義されている型のどれかになります。

戻り値:
転送型
関連項目:
getDataElements(int, int, Object, DataBuffer), getDataElements(int, int, int, int, Object, DataBuffer), setDataElements(int, int, Object, DataBuffer), setDataElements(int, int, int, int, Object, DataBuffer), getNumDataElements(), 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 - データが 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 によってストレージレイアウトが記述されている DataBuffer db1 から、SampleModel sm2 によってストレージレイアウトが記述されている DataBuffer db2 へ、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 - データが 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 によってストレージレイアウトが記述されている DataBuffer db1 から、SampleModel sm2 によってストレージレイアウトが記述されている DataBuffer db2 へ、ピクセルの矩形領域のデータを転送する例です。通常、この転送は 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 - データが 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)
TransferType 型のプリミティブ配列からの、指定した DataBuffer 内の 1 つのピクセルのデータを設定します。Java 2D API によってサポートされているイメージデータの場合は、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、DataBuffer.TYPE_INT、DataBuffer.TYPE_SHORT、DataBuffer.TYPE_FLOAT、または DataBuffer.TYPE_DOUBLE のいずれかになります。配列内のデータはパックされた形式で返されることもあり、その場合、データ転送の効率が上がります。  

次のコードは、SampleModel sm1 によってストレージレイアウトが記述されている DataBuffer db1 から、SampleModel sm2 によってストレージレイアウトが記述されている DataBuffer db2 へ、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 - データが 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 によってストレージレイアウトが記述されている DataBuffer db1 から、SampleModel sm2 によってストレージレイアウトが記述されている DataBuffer db2 へ、ピクセルの矩形領域のデータを転送する例です。通常、この転送は 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - データが 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 - 指定されたバンド
戻り値:
指定されたバンドのサンプルのサイズ

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。