|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.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 を生成できます。
コンストラクタはすべて protected です。Raster を生成する方法としては、このクラスで定義されている static な 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)
1 つのピクセルのデータを TransferType 型のプリミティブ配列として返します。 |
Object |
getDataElements(int x,
int y,
Object outData)
1 つのピクセルのデータを TransferType 型のプリミティブ配列として返します。 |
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)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに 1 つのサンプルが格納されている double 配列として返します。 |
float[] |
getSamples(int x,
int y,
int w,
int h,
int b,
float[] fArray)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに 1 つのサンプルが格納されている float 配列として返します。 |
int[] |
getSamples(int x,
int y,
int w,
int h,
int b,
int[] iArray)
指定された矩形ピクセルの指定されたバンドのサンプルを、配列要素ごとに 1 つのサンプルが格納されている int 配列として返します。 |
int |
getTransferType()
getDataElements メソッドと setDataElements メソッドで、複数のピクセルを転送するために必要な TransferType を返します。 |
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
がゼロより小さい場合
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
、幅、高さ、および 1 ピクセルあたりのビット数を持つ 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
、DataBuffer
、および位置を持つ 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
- 幅または高さがゼロ以下の場合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)
w
- WritableRaster
の指定された幅h
- WritableRaster
の指定された高さ
WritableRaster
RasterFormatException
- w
か h
のどちらかがゼロ以下の場合、または x + w
か y + h
のどちらかの計算で整数型オーバーフローが発生した場合public Raster createTranslatedChild(int childMinX, int childMinY)
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 にそれぞれ指定して、このメソッドを呼び出します。
width
- (parentX, parentY) から始まる領域の幅height
- (parentX, parentY) から始まる領域の高さ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)
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)
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)
iArray
- 必要に応じて事前に割り当てられた int 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または iArray が小さすぎて出力を保持できない場合public float[] getPixel(int x, int y, float[] fArray)
fArray
- 必要に応じて事前に割り当てられた float 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または fArray が小さすぎて出力を保持できない場合public double[] getPixel(int x, int y, double[] dArray)
dArray
- 必要に応じて事前に割り当てられた double 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または dArray が小さすぎて出力を保持できない場合public int[] getPixels(int x, int y, int w, int h, int[] iArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さiArray
- 必要に応じて事前に割り当てられた int 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または iArray が小さすぎて出力を保持できない場合public float[] getPixels(int x, int y, int w, int h, float[] fArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さfArray
- 必要に応じて事前に割り当てられた float 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または fArray が小さすぎて出力を保持できない場合public double[] getPixels(int x, int y, int w, int h, double[] dArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さdArray
- 必要に応じて事前に割り当てられた double 配列
ArrayIndexOutOfBoundsException
- 座標が境界内にない場合、または dArray が小さすぎて出力を保持できない場合public int getSample(int x, int y, int b)
b
- 返されるバンド
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合public float getSampleFloat(int x, int y, int b)
b
- 返されるバンド
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合public double getSampleDouble(int x, int y, int b)
b
- 返されるバンド
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドiArray
- 必要に応じて事前に割り当てられた int 配列
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合、または iArray が小さすぎて出力を保持できない場合public float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドfArray
- 必要に応じて事前に割り当てられた float 配列
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合、または fArray が小さすぎて出力を保持できない場合public double[] getSamples(int x, int y, int w, int h, int b, double[] dArray)
w
- ピクセル矩形の幅h
- ピクセル矩形の高さb
- 返されるバンドdArray
- 必要に応じて事前に割り当てられた double 配列
ArrayIndexOutOfBoundsException
- 座標またはバンドインデックスが境界内にない場合、または dArray が小さすぎて出力を保持できない場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.