public class Raster extends Object
Rasterは、平面上の特定の矩形領域(必ずしも(0, 0)を含んでいなくてもよい)を占めるピクセルの値を定義します。この矩形は、Rasterの境界の矩形と呼ばれ、getBoundsメソッドにより取得され、minX、minY、width、heightの値によって定義されます。minXとminYの値は、Rasterの左上隅の座標を定義します。境界の矩形外のピクセルを参照すると、例外がスローされたり、Rasterの関連DataBufferの意図しない要素が参照されることになります。このような範囲外のアクセスは行わないようにしてください。
SampleModelは、RasterのサンプルがDataBufferのプリミティブ配列要素に格納される方法を記述します。サンプルは、PixelInterleavedSampleModelやBandedSampleModelのようにデータ要素ごとに1つずつ格納することも、SinglePixelPackedSampleModelやMultiPixelPackedSampleModelのように複数の要素を1つにまとめて格納することもできます。SampleModelは、サンプルが符号付き拡張形式かどうかも制御します。これにより、符号なしデータをbyte、short、intなどの、Javaの符号付きデータ型として格納できます。
Rasterは平面上のどこにでも存在できますが、SampleModelは(0, 0)から始まる簡易座標体系を利用します。このため、Rasterは、Rasterの座標体系とSampleModelの座標体系の間でピクセル位置をマッピングできるようにする変換係数を持っています。SampleModelの座標体系からRasterの座標体系への変換は、getSampleModelTranslateXメソッドとgetSampleModelTranslateYメソッドで取得できます。
RasterはほかのRasterとDataBufferを共有できますが、このためには、このようなRasterを明示的に構築するか、createChildメソッドとcreateTranslatedChildメソッドを使用します。これらのメソッドによって構築されたRasterに対してgetParentメソッドを使用すると、構築元のRasterへの参照を取得できます。createTranslatedChildやcreateChildの呼出しによって構築されたRasterでない場合、getParentはnullを返します。
createTranslatedChildメソッドは、現在のRasterのすべてのデータを共有する新しいRasterを返します。新しいRasterは、現在のRasterと同じ幅と高さの境界の矩形を占めますが、開始点が異なります。たとえば、親のRasterが(10, 10)から(100, 100)までの領域を占める場合、変換後のRasterの領域の始点を(50, 50)に定義すると、親のピクセル(20, 20)と子のピクセル(60, 60)はこれら2つのRasterで共有されるDataBufferで同じ位置を占めます。対応するSampleModel座標を取得する場合、最初のケースではピクセル座標に(-10, -10)が加算されるのに対し、2番目のケースでは(-50, -50)が加算されます。
親のsampleModelTranslateXとsampleModelTranslateYの値から、子のsampleModelTranslateXとsampleModelTranslateYの値を減算することで、Rasterの親子間の変換が可能です。
createChildメソッドを使うと、親の境界の矩形のサブセットのみを占め、同じ座標体系または変換後の座標体系を持つ新しいRasterや、親のバンドのサブセットを持つ新しいRasterを生成できます。
コンストラクタはすべて保護されています。Rasterを生成する正しい方法は、このクラスで定義されている静的なcreateメソッドの1つを使うことです。これらのメソッドを使うと、標準のインタリーブ化されたSampleModel、バンド化されたSampleModel、およびパックされたSampleModelを使うRasterのインスタンスが生成され、外部で生成されたSampleModelとDataBufferを結合して生成される場合と比べて効率的に処理できます。
修飾子と型 | フィールドと説明 |
---|---|
protected DataBuffer |
dataBuffer
イメージ・データを格納するDataBufferです。
|
protected int |
height
このRasterの高さです。
|
protected int |
minX
このRasterの左上隅のピクセルのX座標です。
|
protected int |
minY
このRasterの左上隅のピクセルのY座標です。
|
protected int |
numBands
Raster内のバンド数です。
|
protected int |
numDataElements
1ピクセルあたりのDataBufferデータ要素の数です。
|
protected Raster |
parent
このRasterの親、またはnullです。
|
protected SampleModel |
sampleModel
このRasterのピクセルがDataBufferに格納される方法を記述するSampleModelです。
|
protected int |
sampleModelTranslateX
RasterのSampleModelの座標空間からRasterの座標空間へのX変換です。
|
protected int |
sampleModelTranslateY
RasterのSampleModelの座標空間からRasterの座標空間へのY変換です。
|
protected int |
width
このRasterの幅です。
|
修飾子 | コンストラクタと説明 |
---|---|
protected |
Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
指定されたSampleModelおよびDataBufferを持つRasterを構築します。
|
protected |
Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
指定されたSampleModel、DataBuffer、および親を使ってRasterを構築します。
|
protected |
Raster(SampleModel sampleModel, Point origin)
指定されたSampleModelを持つRasterを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
static WritableRaster |
createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
指定されたDataBuffer、幅、高さ、走査線ストライド、バンク・インデックス、およびバンド・オフセットを持つ、BandedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
指定されたデータ型、幅、高さ、走査線ストライド、バンク・インデックス、バンド・オフセットを持つ、BandedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createBandedRaster(int dataType, int w, int h, int bands, Point location)
指定されたデータ型、幅、高さ、バンド数を持つ、BandedSampleModelに基づいたRasterを生成します。
|
Raster |
createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
このRasterのDataBufferのすべてまたは一部を共有する新しいRasterを返します。
|
WritableRaster |
createCompatibleWritableRaster()
このRasterと同じSampleModelと初期化された新しいDataBufferを持ち、このRasterと同じサイズで互換性があるWritableRasterを生成します。
|
WritableRaster |
createCompatibleWritableRaster(int w, int h)
指定されたサイズ、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
|
WritableRaster |
createCompatibleWritableRaster(int x, int y, int w, int h)
指定された位置(minX, minY)とサイズ(width, height)、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
|
WritableRaster |
createCompatibleWritableRaster(Rectangle rect)
rectによって指定される位置(minX, minY)とサイズ(width, height)、新しいSampleModel、および初期化された新しいDataBufferを持ち、互換性があるWritableRasterを生成します。
|
static WritableRaster |
createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
指定されたDataBuffer、幅、高さ、走査線ストライド、ピクセル・ストライド、およびバンド・オフセットを持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
指定されたデータ型、幅、高さ、走査線ストライド、ピクセル・ストライド、およびバンド・オフセットを持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
指定されたデータ型、幅、高さ、およびバンド数を持つ、PixelInterleavedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
指定されたDataBuffer、幅、高さ、走査線ストライド、およびバンド・マスクを持つ、SinglePixelPackedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
指定されたDataBuffer、幅、高さ、および1ピクセルあたりのビット数を持つ、MultiPixelPackedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
指定されたデータ型、幅、高さ、およびバンド・マスクを持つ、SinglePixelPackedSampleModelに基づいたRasterを生成します。
|
static WritableRaster |
createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
指定されたデータ型、幅、高さ、バンド数、および1バンドあたりのビット数を持つ、パックされたSampleModelに基づいたRasterを生成します。
|
static Raster |
createRaster(SampleModel sm, DataBuffer db, Point location)
指定されたSampleModelとDataBufferを持つRasterを生成します。
|
Raster |
createTranslatedChild(int childMinX, int childMinY)
このRasterと同じサイズ、SampleModel、およびDataBufferを持ち、位置が異なるRasterを生成します。
|
static WritableRaster |
createWritableRaster(SampleModel sm, DataBuffer db, Point location)
指定されたSampleModelとDataBufferを持つWritableRasterを生成します。
|
static WritableRaster |
createWritableRaster(SampleModel sm, Point location)
指定されたSampleModelを持つWritableRasterを生成します。
|
Rectangle |
getBounds()
このRasterの境界のRectangleを返します。
|
DataBuffer |
getDataBuffer()
このRasterに関連したDataBufferを返します。
|
Object |
getDataElements(int x, int y, int w, int h, Object outData)
TransferType型のプリミティブ配列の、指定されたピクセル矩形のピクセル・データを返します。
|
Object |
getDataElements(int x, int y, Object outData)
transferType型のプリミティブ配列内の1つのピクセルのデータを返します。
|
int |
getHeight()
Rasterの高さをピクセル単位で返します。
|
int |
getMinX()
Rasterの有効な最小のX座標を返します。
|
int |
getMinY()
Rasterの有効な最小のY座標を返します。
|
int |
getNumBands()
このRaster内のバンド数(1ピクセルあたりのサンプル数)を返します。
|
int |
getNumDataElements()
getDataElementsメソッドおよびsetDataElementsメソッドを使って1ピクセル転送するのに必要なデータ要素の数を返します。
|
Raster |
getParent()
このRasterの親Rasterがあればそれを返します。親がない場合は、nullを返します。
|
double[] |
getPixel(int x, int y, double[] dArray)
指定されたピクセルのサンプルをdouble配列として返します。
|
float[] |
getPixel(int x, int y, float[] fArray)
指定されたピクセルのサンプルをfloat配列として返します。
|
int[] |
getPixel(int x, int y, int[] iArray)
指定されたピクセルのサンプルをint配列として返します。
|
double[] |
getPixels(int x, int y, int w, int h, double[] dArray)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているdouble配列として返します。
|
float[] |
getPixels(int x, int y, int w, int h, float[] fArray)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているfloat配列として返します。
|
int[] |
getPixels(int x, int y, int w, int h, int[] iArray)
矩形のピクセルのサンプルすべてを、配列要素ごとに1つのサンプルが格納されているint配列として返します。
|
int |
getSample(int x, int y, int b)
(x, y)に位置するピクセルの指定されたバンド内のサンプルをintとして返します。
|
double |
getSampleDouble(int x, int y, int b)
(x, y)に位置するピクセルの指定されたバンド内のサンプルをdoubleとして返します。
|
float |
getSampleFloat(int x, int y, int b)
(x, y)に位置するピクセルの指定されたバンド内のサンプルをfloatとして返します。
|
SampleModel |
getSampleModel()
イメージ・データのレイアウトを記述するSampleModelを返します。
|
int |
getSampleModelTranslateX()
SampleModelの座標体系からRasterの座標体系へのX変換を返します。
|
int |
getSampleModelTranslateY()
SampleModelの座標体系からRasterの座標体系へのY変換を返します。
|
double[] |
getSamples(int x, int y, int w, int h, int b, double[] dArray)
double配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
|
float[] |
getSamples(int x, int y, int w, int h, int b, float[] fArray)
float配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
|
int[] |
getSamples(int x, int y, int w, int h, int b, int[] iArray)
int配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。配列要素ごとに1つのサンプルが返されます。
|
int |
getTransferType()
getDataElementsメソッドおよびsetDataElementsメソッドを使ってピクセルを転送するのに使用されるTransferTypeを返します。
|
int |
getWidth()
Rasterの幅をピクセル単位で返します。
|
protected SampleModel sampleModel
protected DataBuffer dataBuffer
protected int minX
protected int minY
protected int width
protected int height
protected int sampleModelTranslateX
protected int sampleModelTranslateY
protected int numBands
protected int numDataElements
protected Raster parent
protected Raster(SampleModel sampleModel, Point origin)
sampleModel
- レイアウトを指定するSampleModelorigin
- 原点を指定したPointRasterFormatException
- origin.x+sampleModel.getWidth()
またはorigin.y+sampleModel.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合NullPointerException
- sampleModel
またはorigin
がnullであるprotected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
sampleModel
- レイアウトを指定するSampleModeldataBuffer
- イメージ・データを格納するDataBufferorigin
- 原点を指定するPointRasterFormatException
- origin.x+sampleModel.getWidth()
またはorigin.y+sampleModel.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合NullPointerException
- sampleModel
またはorigin
がnullであるprotected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion, Point sampleModelTranslate, Raster parent)
sampleModel
- レイアウトを指定するSampleModeldataBuffer
- イメージ・データを格納するDataBufferaRegion
- イメージ領域を指定するRectanglesampleModelTranslate
- SampleModelからRaster座標への変換を指定するPointparent
- このラスターの親(存在する場合)NullPointerException
- sampleModel
、dataBuffer
、aRegion
、sampleModelTranslate
のいずれかがnullの場合RasterFormatException
- aRegion
の幅または高さがゼロ以下の場合、あるいはaRegion.x+aRegion.width
とaRegion.y+aRegion.height
のいずれかの計算で整数型オーバーフローが発生した場合public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int bands, Point location)
Rasterの左上隅はlocation引数によって指定されます。locationがnullの場合は、(0, 0)が使用されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
インタリーブ化されたDataBuffer.TYPE_INT
Rasterはサポートされていません。DataBuffer.TYPE_INT
型の1バンドのRasterを生成するには、Raster.createPackedRaster()を使用します。
現在サポートされているdataTypeは、TYPE_BYTEとTYPE_USHORTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)bands
- バンド数location
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合public static WritableRaster createInterleavedRaster(int dataType, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
Rasterの左上隅はlocation引数によって指定されます。locationがnullの場合は、(0, 0)が使用されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
インタリーブ化されたDataBuffer.TYPE_INT
Rasterはサポートされていません。DataBuffer.TYPE_INT
型の1バンドのRasterを生成するには、Raster.createPackedRaster()を使用します。
現在サポートされているdataTypeは、TYPE_BYTEとTYPE_USHORTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)scanlineStride
- イメージ・データの走査線ストライドpixelStride
- イメージ・データのピクセル・ストライドbandOffsets
- すべてのバンドのオフセットlocation
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
またはDataBuffer.TYPE_USHORT
のどちらでもない場合。public static WritableRaster createBandedRaster(int dataType, int w, int h, int bands, Point location)
Rasterの左上隅はlocation引数によって指定されます。locationがnullの場合は、(0, 0)が使用されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
現在サポートされているdataTypeは、TYPE_BYTE、TYPE_USHORT、およびTYPE_INTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)bands
- バンド数location
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合ArrayIndexOutOfBoundsException
- bands
が1より小さい場合public static WritableRaster createBandedRaster(int dataType, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
Rasterの左上隅はlocation引数によって指定されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
現在サポートされているdataTypeは、TYPE_BYTE、TYPE_USHORT、およびTYPE_INTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)scanlineStride
- イメージ・データの走査線ストライドbankIndices
- 各バンドのバンク・インデックスbandOffsets
- すべてのバンドのオフセットlocation
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合ArrayIndexOutOfBoundsException
- bankIndices
またはbandOffsets
がnull
の場合public static WritableRaster createPackedRaster(int dataType, int w, int h, int[] bandMasks, Point location)
Rasterの左上隅はlocation引数によって指定されます。locationがnullの場合は、(0, 0)が使用されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
現在サポートされているdataTypeは、TYPE_BYTE、TYPE_USHORT、およびTYPE_INTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)bandMasks
- 各バンドのエントリを格納する配列location
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合public static WritableRaster createPackedRaster(int dataType, int w, int h, int bands, int bitsPerBand, Point location)
バンド数が複数の場合、SampleModelは各バンドがbitsPerBandビットを持つSinglePixelPackedSampleModelになります。どちらの場合も、対応するSampleModelが要求するdataTypeとbitsPerBandに関する要件を満たさなければいけません。
Rasterの左上隅はlocation引数によって指定されます。locationがnullの場合は、(0, 0)が使用されます。dataTypeパラメータには、DataBufferクラス定義で列挙される値の1つを指定します。
現在サポートされているdataTypeは、TYPE_BYTE、TYPE_USHORT、およびTYPE_INTだけです。
dataType
- サンプル格納用のデータ形式w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)bands
- バンド数bitsPerBand
- バンドごとのビット数location
- Raster
の左上隅のX座標RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- bitsPerBand
とbands
の積が、dataType
が保持するビット数より大きい場合IllegalArgumentException
- bitsPerBand
またはbands
が0以下である場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, Point location)
インタリーブ化されたDataBuffer.TYPE_INT
Rasterはサポートされていません。DataBuffer.TYPE_INT
型の1バンドのRasterを生成するには、Raster.createPackedRaster()を使用します。
dataBuffer
- イメージ・データを格納するDataBuffer
w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)scanlineStride
- イメージ・データの走査線ストライドpixelStride
- イメージ・データのピクセル・ストライドbandOffsets
- すべてのバンドのオフセットlocation
- Raster
の左上隅のX座標DataBuffer
、幅、高さ、走査線ストライド、ピクセル・ストライド、およびバンド・オフセットを持つWritableRasterオブジェクト。RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
のいずれでもない場合RasterFormatException
- dataBuffer
が複数のバンクを持つ場合。NullPointerException
- dataBuffer
がnullである場合public static WritableRaster createBandedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
dataBuffer
- イメージ・データを格納するDataBuffer
w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)scanlineStride
- イメージ・データの走査線ストライドbankIndices
- 各バンドのバンク・インデックスbandOffsets
- すべてのバンドのオフセットlocation
- Raster
の左上隅のX座標DataBuffer
、幅、高さ、走査線ストライド、バンク・インデックス、およびバンド・オフセットを持つWritableRasterオブジェクト。RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合NullPointerException
- dataBuffer
がnullである場合public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int scanlineStride, int[] bandMasks, Point location)
dataBuffer
- イメージ・データを格納するDataBuffer
w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)scanlineStride
- イメージ・データの走査線ストライドbandMasks
- 各バンドのエントリを格納する配列location
- Raster
の左上隅のX座標DataBuffer
、幅、高さ、走査線ストライド、およびバンド・マスクを持つWritableRasterオブジェクト。RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合RasterFormatException
- dataBuffer
が複数のバンクを持つ場合。NullPointerException
- dataBuffer
がnullである場合public static WritableRaster createPackedRaster(DataBuffer dataBuffer, int w, int h, int bitsPerPixel, Point location)
dataBuffer
- イメージ・データを格納するDataBuffer
w
- イメージ・データの幅(ピクセル単位)h
- イメージ・データの高さ(ピクセル単位)bitsPerPixel
- 各ピクセルのビット数location
- Raster
の左上隅のX座標DataBuffer
、幅、高さ、およびピクセルあたりのビット数を持つWritableRasterオブジェクト。RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはlocation.x+w
とlocation.y+h
のいずれかの計算で整数型オーバーフローが発生した場合IllegalArgumentException
- dataType
がサポートされているデータ型DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、DataBuffer.TYPE_INT
のいずれでもない場合RasterFormatException
- dataBuffer
が複数のバンクを持つ場合。NullPointerException
- dataBuffer
がnullである場合public static Raster createRaster(SampleModel sm, DataBuffer db, Point location)
sm
- 指定されたSampleModel
db
- 指定されたDataBuffer
location
- Raster
の左上隅のX座標SampleModel
、DataBuffer
、および位置を持つRaster
。RasterFormatException
- location.x+sm.getWidth()
またはlocation.y+sm.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合RasterFormatException
- db
が複数のバンクを持ち、sm
がPixelInterleavedSampleModel、SinglePixelPackedSampleModel、またはMultiPixelPackedSampleModelの場合。NullPointerException
- SampleModelまたはDataBufferがnullの場合public static WritableRaster createWritableRaster(SampleModel sm, Point location)
sm
- 指定されたSampleModel
location
- WritableRaster
の左上隅のX座標SampleModel
、および位置を持つWritableRaster
。RasterFormatException
- location.x+sm.getWidth()
またはlocation.y+sm.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合public static WritableRaster createWritableRaster(SampleModel sm, DataBuffer db, Point location)
sm
- 指定されたSampleModel
db
- 指定されたDataBuffer
location
- WritableRaster
の左上隅のX座標SampleModel
、DataBuffer
、および位置を持つWritableRaster
。RasterFormatException
- location.x+sm.getWidth()
またはlocation.y+sm.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合RasterFormatException
- db
が複数のバンクを持ち、sm
がPixelInterleavedSampleModel、SinglePixelPackedSampleModel、またはMultiPixelPackedSampleModelの場合。NullPointerException
- SampleModelまたはDataBufferがnullの場合public Raster getParent()
null
。public final int getSampleModelTranslateX()
public final int getSampleModelTranslateY()
public WritableRaster createCompatibleWritableRaster()
WritableRaster
。public WritableRaster createCompatibleWritableRaster(int w, int h)
w
- 新しいWritableRaster
の指定された幅h
- 新しいWritableRaster
の指定された幅WritableRaster
。RasterFormatException
- 幅または高さが0以下である場合。public WritableRaster createCompatibleWritableRaster(Rectangle rect)
rect
- WritableRaster
のサイズと位置を示すRectangle
WritableRaster
。RasterFormatException
- rect
の幅または高さがゼロ以下の場合、あるいはrect.x+rect.width
とrect.y+rect.height
のいずれかの計算で整数型オーバーフローが発生した場合NullPointerException
- rect
がnullである場合public WritableRaster createCompatibleWritableRaster(int x, int y, int w, int h)
x
- WritableRaster
の左上隅のX座標。y
- WritableRaster
の左上隅のY座標。w
- 新しいWritableRaster
の指定された幅h
- 新しいWritableRaster
の指定された幅WritableRaster
。RasterFormatException
- w
またはh
がゼロ以下の場合、あるいはx+w
とy+h
のいずれかの計算で整数型オーバーフローが発生した場合public Raster createTranslatedChild(int childMinX, int childMinY)
childMinX
- 新しいRaster
の左上隅のX座標childMinY
- 新しいRaster
の左上隅のY座標Raster
と同じサイズ、SampleModel、およびデータ・バッファを持ち、指定された位置を持つ新しいRaster
。RasterFormatException
- childMinX+this.getWidth()
またはchildMinY+this.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合public Raster createChild(int parentX, int parentY, int width, int height, int childMinX, int childMinY, int[] bandList)
parentX、parentY、width、heightの各パラメータによってこのRasterの座標空間に形成されるRectangleが、共有されるピクセル領域を示します。このRectangleが現在のRasterの境界内にない場合は、エラーがスローされます。
新しいRasterはさらに、同じ平面上で現在のRasterが使用する座標体系とは異なる座標体系に変換できます。childMinXパラメータとchildMinYパラメータにより、返されたRasterの左上隅のピクセルの新しい座標(x, y)が指定されます。新しいRaster内の座標(childMinX, childMinY)は、現在のRaster内の座標(parentX, parentY)と同じピクセルにマップされます。
bandListパラメータを使用して、新しいRasterが現在のRasterのバンドのサブセットだけを、場合によっては順序を変更して、格納するように定義できます。bandListがnullの場合は、現在のRasterのすべてのバンドが現在と同じ順序で格納されます。
現在のRasterの部分領域を保持するが、座標体系とバンドは現在のRasterと共有する新しいRasterを生成するには、childMinXをparentXと同じ値に、childMinYをparentYと同じ値に、bandListをnullにそれぞれ指定して、このメソッドを呼び出します。
parentX
- このRasterの座標で左上隅のX座標parentY
- このRasterの座標で左上隅のY座標width
- (parentX, parentY)から始まる領域の幅height
- (parentX, parentY)から始まる領域の高さ。childMinX
- 返されるRasterの左上隅のX座標childMinY
- 返されるRasterの左上隅のY座標bandList
- バンド・インデックスの配列。すべてのバンドを使用する場合はnullRaster
。RasterFormatException
- 指定された部分領域がラスター境界の外側にある場合。RasterFormatException
- width
またはheight
が0以下の場合、またはparentX+width
、parentY+height
、childMinX+width
、childMinY+height
のいずれかの計算で整数型オーバーフローが発生した場合public Rectangle getBounds()
Raster
のバウンディング・ボックス。public final int getMinX()
Raster
の最小x座標。public final int getMinY()
Raster
の最小y座標。public final int getWidth()
Raster
の幅。public final int getHeight()
Raster
の高さ。public final int getNumBands()
Raster
のバンド数。public final int getNumDataElements()
public final int getTransferType()
public DataBuffer getDataBuffer()
Raster
のDataBuffer
。public SampleModel getSampleModel()
Raster
のSampleModel
。public Object getDataElements(int x, int y, Object outData)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標outData
- getTransferType()によって定義された型とgetNumDataElements()によって定義された長さを持つ配列へのオブジェクト参照。nullの場合は、適切な型とサイズの配列が割り当てられるArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはoutDataが小さすぎて出力を保持できない場合。SampleModel.getDataElements(int, int, Object, DataBuffer)
public Object getDataElements(int x, int y, int w, int h, Object outData)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さoutData
- getTransferType()によって定義された型とw*h*getNumDataElements()によって定義された長さを持つ配列へのオブジェクト参照。nullの場合は、適切な型とサイズの配列が割り当てられるArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはoutDataが小さすぎて出力を保持できない場合。SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)
public int[] getPixel(int x, int y, int[] iArray)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標iArray
- 必要に応じて事前に割り当てられたint配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。public float[] getPixel(int x, int y, float[] fArray)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標fArray
- 必要に応じて事前に割り当てられたfloat配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。public double[] getPixel(int x, int y, double[] dArray)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標dArray
- 必要に応じて事前に割り当てられたdouble配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。public int[] getPixels(int x, int y, int w, int h, int[] iArray)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さiArray
- オプションで事前に割り当てられたint配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。public float[] getPixels(int x, int y, int w, int h, float[] fArray)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さfArray
- オプションで事前に割り当てられたfloat配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。public double[] getPixels(int x, int y, int w, int h, double[] dArray)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さdArray
- オプションで事前に割り当てられたdouble配列ArrayIndexOutOfBoundsException
- 座標が境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。public int getSample(int x, int y, int b)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。public float getSampleFloat(int x, int y, int b)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。public double getSampleDouble(int x, int y, int b)
x
- ピクセル位置のX座標y
- ピクセル位置のY座標b
- 返されるバンドArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内にない場合。public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドiArray
- オプションで事前に割り当てられたint配列ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはiArrayが小さすぎて出力を保持できない場合。public float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドfArray
- オプションで事前に割り当てられたfloat配列ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはfArrayが小さすぎて出力を保持できない場合。public double[] getSamples(int x, int y, int w, int h, int b, double[] dArray)
x
- 左上のピクセル位置のX座標y
- 左上のピクセル位置のY座標w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドdArray
- オプションで事前に割り当てられたdouble配列ArrayIndexOutOfBoundsException
- 座標またはバンド・インデックスが境界内に存在しない場合、またはdArrayが小さすぎて出力を保持できない場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。