|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.image.Raster
public class Raster
ピクセルで構成される矩形配列を表現するクラスです。Raster は、サンプル値が格納されている DataBuffer と、指定されたサンプル値を DataBuffer から検出する方法が記述されている SampleModel をカプセル化します。
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 を結合して生成される場合と比べて効率的に処理できます。
DataBuffer
,
SampleModel
,
PixelInterleavedSampleModel
,
BandedSampleModel
,
SinglePixelPackedSampleModel
,
MultiPixelPackedSampleModel
フィールドの概要 | |
---|---|
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 があればそれを返します。 |
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 配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。 |
float[] |
getSamples(int x,
int y,
int w,
int h,
int b,
float[] fArray)
float 配列内の指定されたピクセル矩形の、指定されたバンドのサンプルを返します。 |
int[] |
getSamples(int x,
int y,
int w,
int h,
int b,
int[] iArray)
int 配列の指定されたピクセルの矩形の、指定されたバンドのサンプルを返します。 |
int |
getTransferType()
getDataElements メソッドと setDataElements メソッドで、1 つのピクセルを転送するために必要なデータ要素の数を返します。 |
int |
getWidth()
Raster の幅をピクセル単位で返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
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
- 原点を指定した Point
RasterFormatException
- origin.x + sampleModel.getWidth()
または origin.y + sampleModel.getHeight()
の計算で、整数型オーバーフローが発生した場合
NullPointerException
- sampleModel
または
origin
が null の場合protected Raster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin)
sampleModel
- レイアウトを指定する SampleModeldataBuffer
- イメージデータを格納する DataBufferorigin
- 原点を指定する Point
RasterFormatException
- 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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
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
の左上隅
SampleModel
、DataBuffer
、および位置を持つ Raster
RasterFormatException
- location.x + sm.getWidth()
と location.y + sm.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合
RasterFormatException
- dataBuffer
が複数のバンクを持ち、sampleModel
が PixelInterleavedSampleModel、SinglePixelPackedSampleModel、または MultiPixelPackedSampleModel の場合
NullPointerException
- SampleModel または DataBuffer が null の場合public static WritableRaster createWritableRaster(SampleModel sm, Point location)
sm
- 指定された SampleModel
location
- WritableRaster
の左上隅
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
の左上隅
SampleModel
、DataBuffer
、および位置を持つ WritableRaster
RasterFormatException
- location.x + sm.getWidth()
と location.y + sm.getHeight()
のいずれかの計算で整数型オーバーフローが発生した場合
RasterFormatException
- dataBuffer
が複数のバンクを持ち、sampleModel
が 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
- バンドインデックスの配列。すべてのバンドを使用する場合は null
Raster
RasterFormatException
- 指定された部分領域がラスタ境界の外側にある場合
RasterFormatException
- width
または height
がゼロ以下の場合、あるいは 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 が小さすぎて出力を保持できない場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。