public class Raster extends Object
Raster は、平面上の特定の矩形領域 (必ずしも (0, 0) を含んでいなくてもよい) を占めるピクセルの値を定義します。この矩形は、Raster の境界の矩形と呼ばれ、getBounds メソッドにより取得され、minX、minY、width、height の値によって定義されます。minX と minY の値は、Raster の左上隅の座標を定義します。境界の矩形外のピクセルを参照すると、例外がスローされたり、Raster の関連 DataBuffer の意図しない要素が参照されることになります。Raster を使用するときは、このような範囲外のアクセスは行わないようにしてください。
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 座標を取得する場合、親の Raster ではピクセル座標に (-10, -10) が加算されるのに対し、変換後の Raster では (-50, -50) が加算されます。
親の sampleModelTranslateX と sampleModelTranslateY の値から、子の sampleModelTranslateX と sampleModelTranslateY の値を減算することで、Raster の親子間の変換が可能です。
createChild メソッドを使うと、親の境界の矩形のサブセットのみを占め、同じ座標体系または変換後の座標体系を持つ新しい Raster や、親のバンドのサブセットを持つ新しい Raster を生成できます。
コンストラクタはすべて保護されています。Raster を生成する正しい方法は、このクラスで定義されている静的な create メソッドの 1 つを使うことです。これらのメソッドを使うと、標準のインタリーブ化された SampleModel、バンド化された SmpleModel、およびパックされた 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 メソッドで、1 つのピクセルを転送するために必要なデータ要素の数を返します。
|
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, 2013, Oracle and/or its affiliates. All rights reserved.