|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.image.ColorModel java.awt.image.IndexColorModel
public class IndexColorModel
IndexColorModel
クラスは、デフォルトの sRGB カラースペースの固定カラーマップに対するインデックスである、単一のサンプルからなるピクセル値を扱う ColorModel
クラスです。カラーマップは、赤、緑、青の色成分、および各インデックスに対応する任意のアルファ成分を指定します。成分はすべて、カラーマップ内の 8 ビットの符号なし整数値として表現されます。いくつかのコンストラクタでは、呼び出し側が、BigInteger
オブジェクトに設定されたビットによって、どのカラーマップエントリが有効か、およびどのカラーマップエントリが使用不可能な色を表しているかを示すことによって、カラーマップの「穴」を指定できます。このカラーモデルは X11 の PseudoColor と同じものです。
コンストラクタによっては、カラーマップの各ピクセルのアルファ成分を指定する手段を提供しているものもありますが、そうした手段を提供しないコンストラクタや、場合によってはカラーマップデータにアルファ値が格納されているかどうかを示すフラグを提供するコンストラクタもあります。コンストラクタにアルファが指定されない場合は、各エントリに不透明なアルファ成分 (アルファ = 1.0) が指定されているとみなされます。オプションとして透明ピクセルの値を指定して、そのピクセル値に指定または想定されたアルファ成分がどれであっても、完全に透明にするピクセルであることを示すことができます。IndexColorModel
オブジェクトのカラーマップの色成分はアルファ成分によってあらかじめ乗算されることはありません。
IndexColorModel
オブジェクトが Transparency.OPAQUE
の透明度の値を持つ場合、hasAlpha
メソッドおよび getNumComponents
メソッド (ともに ColorModel
から継承される) はそれぞれ false および 3 を返します。ほかの透明度の値の場合、hasAlpha
メソッドは true を返し、getNumComponents
メソッドは 4 を返します。
カラーマップのインデックスに使用される値は、ピクセル表現の最下位の n ビットから採用されます。n は、コンストラクタで指定するピクセルサイズに基づいて決まります。ピクセルサイズが 8 ビットより小さい場合、n は 2 の累乗に切り上げられます。つまり 3 は 4 になり、5、6、7 は 8 になります。ピクセルサイズが 8 〜 16 ビットの場合、n はピクセルサイズと同じです。16 ビットを超えるピクセルサイズは、このクラスではサポートされていません。n より上位のビットは、ピクセル表現で無視されます。インデックス値がマップサイズ以上で 2n 未満である場合、このようなインデックス値は未定義であるため、すべての色成分およびアルファ成分に対して 0 が返されます。
このクラスのメソッドの多くは final です。その理由は、下位のネイティブなグラフィックスのコードがこのクラスの設計と操作に関しての前提となり、これらの前提がこのクラスで final になっているメソッドの実装に反映されているからです。このクラスを別の理由でサブクラス化することはできますが、final なメソッドの動作をオーバーライドしたり、変更することはできません。
transferType
型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に 1 です。サポートされる転送型は、DataBuffer.TYPE_BYTE
および DataBuffer.TYPE_USHORT
です。このクラスで使うピクセル値は常に単一の int として表現できるので、単一の int ピクセル表現はこのクラスのすべてのオブジェクトで有効です。このため、この表現を使うメソッドは、無効なピクセル値が原因で IllegalArgumentException
をスローすることはありません。
ColorModel
,
ColorSpace
,
DataBuffer
フィールドの概要 |
---|
クラス java.awt.image.ColorModel から継承されたフィールド |
---|
pixel_bits, transferType |
インタフェース java.awt.Transparency から継承されたフィールド |
---|
BITMASK, OPAQUE, TRANSLUCENT |
コンストラクタの概要 | |
---|---|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b)
指定された赤、緑、青の色成分の配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
byte[] a)
指定された赤、緑、青の色成分の配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
byte[] r,
byte[] g,
byte[] b,
int trans)
指定された赤、緑、青の色成分の配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha)
インタリーブ化形式で格納されている赤、緑、青の色成分、およびオプションのアルファ成分からなる 1 つの配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
byte[] cmap,
int start,
boolean hasalpha,
int trans)
インタリーブ化形式で格納されている赤、緑、青の色成分、およびオプションのアルファ成分からなる 1 つの配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
boolean hasalpha,
int trans,
int transferType)
int の配列から IndexColorModel を構築します。 |
|
IndexColorModel(int bits,
int size,
int[] cmap,
int start,
int transferType,
BigInteger validBits)
int の配列から IndexColorModel を構築します。 |
メソッドの概要 | |
---|---|
BufferedImage |
convertToIntDiscrete(Raster raster,
boolean forceARGB)
ソース Raster のインデックスを展開して計算したピクセルデータ付きの Raster を持つ、TYPE_INT_ARGB または TYPE_INT_RGB の新しい BufferedImage を、この ColorModel の色成分とアルファ成分の配列を使って返します。 |
SampleModel |
createCompatibleSampleModel(int w,
int h)
この ColorModel と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel を作成します。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
この ColorModel と互換性のあるデータレイアウト (SampleModel ) を持つ、指定された幅と高さの WritableRaster を生成します。 |
void |
finalize()
この ColorModel が参照されなくなったときに、関連したシステムリソースを破棄します。 |
int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。 |
void |
getAlphas(byte[] a)
アルファの透明成分の配列を指定された配列にコピーします。 |
int |
getBlue(int pixel)
指定されたピクセルの青の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
void |
getBlues(byte[] b)
青の色成分の配列を指定された配列にコピーします。 |
int[] |
getComponents(int pixel,
int[] components,
int offset)
この ColorModel の指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。 |
int[] |
getComponents(Object pixel,
int[] components,
int offset)
この ColorModel の指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。 |
int[] |
getComponentSize()
色成分やアルファ成分について 1 成分あたりのビット数の配列を返します。 |
int |
getDataElement(int[] components,
int offset)
指定された、標準化されていない色成分とアルファ成分の配列について、この ColorModel の int として表現されるピクセル値を返します。 |
Object |
getDataElements(int[] components,
int offset,
Object pixel)
標準化されていない色成分およびアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。 |
Object |
getDataElements(int rgb,
Object pixel)
指定されたデフォルトの RGB カラーモデルの整数ピクセル表現について、この ColorModel のピクセルのデータ要素配列表現を返します。 |
int |
getGreen(int pixel)
指定されたピクセルの緑の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
void |
getGreens(byte[] g)
緑の色成分の配列を指定された配列にコピーします。 |
int |
getMapSize()
この IndexColorModel 内の色成分とアルファ成分の配列の大きさを返します。 |
int |
getRed(int pixel)
指定されたピクセルの赤の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
void |
getReds(byte[] r)
赤の色成分の配列を指定された配列にコピーします。 |
int |
getRGB(int pixel)
ピクセルの色成分とアルファ成分を、デフォルトの RGB カラーモデル形式で返します。 |
void |
getRGBs(int[] rgb)
各インデックスのデータを色成分とアルファ成分の配列からデフォルトの RGB ColorModel 形式の int に変換し、結果として得られる 32 ビット ARGB 値を指定された配列にコピーします。 |
int |
getTransparency()
透明度を返します。 |
int |
getTransparentPixel()
この IndexColorModel 内の透明ピクセルのインデックスを返します。 |
BigInteger |
getValidPixels()
カラーマップの有効/無効ピクセルを示す BigInteger を返します。 |
boolean |
isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合には true を返し、そうでない場合には false を返します。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを調べます。 |
boolean |
isValid()
すべてのピクセルが有効かどうかを返します。 |
boolean |
isValid(int pixel)
ピクセルが有効かどうかを返します。 |
String |
toString()
この ColorModel オブジェクトの内容を表す String を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b)
IndexColorModel
を構築します。このカラーモデルによって記述されるピクセルはすべて、正規化されていない 255 (1.0 標準化) のアルファ成分を持ちます。 つまり、完全に不透明です。色成分を指定するすべての配列は、少なくとも指定されたエントリ数を持つ必要があります。ColorSpace
はデフォルトの sRGB 領域になります。このコンストラクタへのどの引数にもアルファ情報がないため、透明度の値は常に Transparency.OPAQUE
になります。転送型は、単一のピクセルを格納できる DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
の最小のものになります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさr
- 赤色成分の配列g
- 緑色成分の配列b
- 青色成分の配列
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, int trans)
IndexColorModel
を構築します。このカラーモデルによって記述されるピクセルはすべて、正規化されていない 255 (1.0 正規化) のアルファ成分を持ちます。 つまり、透明に指定されたピクセル以外は完全に不透明です。色成分を指定するすべての配列は、少なくとも指定されたエントリ数を持つ必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
または Transparency.BITMASK
になります。転送型は、単一のピクセルを格納できる DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
の最小のものになります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさr
- 赤色成分の配列g
- 緑色成分の配列b
- 青色成分の配列trans
- 透明ピクセルのインデックス
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合public IndexColorModel(int bits, int size, byte[] r, byte[] g, byte[] b, byte[] a)
IndexColorModel
を構築します。色成分を指定するすべての配列は、少なくとも指定されたエントリ数を持つ必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
、Transparency.BITMASK
、または Transparency.TRANSLUCENT
になります。転送型は、単一のピクセルを格納できる DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
の最小のものになります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさr
- 赤色成分の配列g
- 緑色成分の配列b
- 青色成分の配列a
- アルファ値成分の配列
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha)
IndexColorModel
を構築します。この配列の値は、指定されたサイズの成分配列をすべて十分に満たす数である必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
、Transparency.BITMASK
、または Transparency.TRANSLUCENT
になります。転送型は、単一のピクセルを格納できる DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
の最小のものになります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさcmap
- 色成分の配列start
- 最初の色成分の開始オフセットhasalpha
- cmap
配列でのアルファ値の有無を示す
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合public IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasalpha, int trans)
IndexColorModel
を構築します。指定された透明インデックスは、どのアルファ値が指定されていても、完全に透明であるとみなされるピクセルを表現します。この配列の値は、指定されたサイズの成分配列をすべて十分に満たす数である必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
、Transparency.BITMASK
、または Transparency.TRANSLUCENT
になります。転送型は、単一のピクセルを格納できる DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
の最小のものになります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさcmap
- 色成分の配列start
- 最初の色成分の開始オフセットhasalpha
- cmap
配列でのアルファ値の有無を示すtrans
- 完全な透明ピクセルのインデックス
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合public IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasalpha, int trans, int transferType)
IndexColorModel
を構築します。 ただし、各 int は、デフォルトの RGB カラーモデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。指定された透明インデックスは、どのアルファ値が指定されていても、完全に透明であるとみなされるピクセルを表現します。この配列の値は、指定されたサイズの成分配列をすべて十分に満たす数である必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
、Transparency.BITMASK
、または Transparency.TRANSLUCENT
になります。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさcmap
- 色成分の配列start
- 最初の色成分の開始オフセットhasalpha
- cmap
配列でのアルファ値の有無を示すtrans
- 完全な透明ピクセルのインデックスtransferType
- ピクセル値の表現に使用される配列のデータ型。データ型は DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
のどちらか
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合
IllegalArgumentException
- transferType
が DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
のどちらでもない場合public IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
int
の配列から IndexColorModel
を構築します。 ただし、各 int
は、デフォルトの RGB カラーモデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。この配列の値は、指定されたサイズの成分配列をすべて十分に満たす数である必要があります。ColorSpace
はデフォルトの sRGB 領域になります。上記のクラスの説明に示すように、透明度の値は引数に応じて Transparency.OPAQUE
、Transparency.BITMASK
、または Transparency.TRANSLUCENT
になります。転送型は DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
のいずれかである必要があります。BigInteger
オブジェクトは、cmap
配列の有効/無効ピクセルを指定します。ピクセルはそのインデックスの BigInteger
値が設定されていれば有効、そのインデックスの BigInteger
ビットが設定されていない場合は無効です。
bits
- 1 ピクセルあたりのビット数size
- 色成分の配列の大きさcmap
- 色成分の配列start
- 最初の色成分の開始オフセットtransferType
- 指定されたデータ型validBits
- BigInteger
のオブジェクト。ビットが BigInteger に設定されている場合は、インデックスのピクセルは有効。ビットが設定されていない場合は、インデックスのピクセルは無効とみなされる。null の場合は、すべてのピクセルが有効。ゼロからマップサイズまでのビットだけが考慮される
IllegalArgumentException
- bits
が 1 より小さいか 16 より大きい場合
IllegalArgumentException
- size
が 1 未満の場合
IllegalArgumentException
- transferType
が DataBuffer.TYPE_BYTE
または DataBuffer.TYPE_USHORT
のどちらでもない場合メソッドの詳細 |
---|
public int getTransparency()
Transparency
内の getTransparency
ColorModel
内の getTransparency
IndexColorModel
の透明度Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
public int[] getComponentSize()
ColorModel
内の getComponentSize
IndexColorModel
の色成分およびアルファ成分ごとのビット数の配列public final int getMapSize()
IndexColorModel
内の色成分とアルファ成分の配列の大きさを返します。
public final int getTransparentPixel()
IndexColorModel
内の透明ピクセルのインデックスを返します。 ただし、アルファ値 0 のピクセルがない場合は -1 を返します。 透明ピクセルがインデックスによってコンストラクタに明示的に指定されている場合、そのインデックスが優先されます。 それ以外の場合は、完全に透明な任意のピクセルのインデックスが返されることがあります。
IndexColorModel
のオブジェクトの透明ピクセルのインデックス、または透明ピクセルがない場合は -1public final void getReds(byte[] r)
getMapSize
で指定された配列の初期エントリだけが書き込まれます。
r
- 赤の色成分の配列要素のコピー先として指定される配列public final void getGreens(byte[] g)
getMapSize
で指定された配列の初期エントリだけが書き込まれます。
g
- 緑の色成分の配列要素のコピー先として指定される配列public final void getBlues(byte[] b)
getMapSize
で指定された配列の初期エントリだけが書き込まれます。
b
- 青の色成分の配列要素のコピー先として指定される配列public final void getAlphas(byte[] a)
getMapSize
で指定された配列の初期エントリだけが書き込まれます。
a
- アルファ成分の配列要素のコピー先として指定される配列public final void getRGBs(int[] rgb)
getMapSize
で指定された配列の初期エントリだけが書き込まれます。
rgb
- この色成分およびアルファ成分配列から変換した ARGB 値のコピー先として指定される配列public final int getRed(int pixel)
ColorModel
内の getRed
pixel
- 指定されたピクセル
public final int getGreen(int pixel)
ColorModel
内の getGreen
pixel
- 指定されたピクセル
public final int getBlue(int pixel)
ColorModel
内の getBlue
pixel
- 指定されたピクセル
public final int getAlpha(int pixel)
ColorModel
内の getAlpha
pixel
- 指定されたピクセル
public final int getRGB(int pixel)
ColorModel
内の getRGB
pixel
- 指定されたピクセル
ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
WritableRaster
オブジェクトの setDataElements
メソッドに渡されます。ピクセル変数が null
の場合は、新しい配列が割り当てられます。pixel
が null
でない場合は、transferType
型のプリミティブ配列である必要があります。 そうでない場合は、ClassCastException
がスローされます。pixel
がこの ColorModel
のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException
がスローされます。ピクセル配列が返されます。
IndexColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。
ColorModel
内の getDataElements
rgb
- デフォルト RGB カラーモデルの整数型ピクセル表現pixel
- 指定されたピクセル
IndexColorModel
の指定されたピクセルの配列表現
ClassCastException
- pixel
が transferType
型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException
- transferType
が無効な場合WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel
の指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。ピクセル値は int として指定されます。components
配列が null
の場合は、offset + getNumComponents()
要素を含む新しい配列が割り当てられます。その components
配列が返されますが、hasAlpha
が true を返す場合のみ、アルファ成分が含まれます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。 これは、配列がこのメソッドで割り当てられても変わりません。components
配列が null
でなく、offset
を起点にした場合に、色成分とアルファ成分のすべてを保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。
ColorModel
内の getComponents
pixel
- 指定されたピクセルcomponents
- 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset
- 色成分およびアルファ成分の格納を開始する、components
配列へのオフセット
ColorModel.hasAlpha()
,
ColorModel.getNumComponents()
public int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
の指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。ピクセル値は、オブジェクト参照として渡される transferType
型のデータ要素の配列によって指定されます。pixel
が transferType
型のプリミティブ配列でない場合は、ClassCastException
がスローされます。pixel
がこの ColorModel
のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException
がスローされます。components
配列が null
の場合は、offset + getNumComponents()
要素を含む新しい配列が割り当てられます。その components
配列が返されますが、hasAlpha
が true を返す場合のみ、アルファ成分が含まれます。色成分とアルファ成分は、offset
から始まる components
配列に格納されます。 これは、配列がこのメソッドで割り当てられても変わりません。components
配列が null
でなく、offset
を開始点とした場合に、色成分とアルファ成分のすべてを格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException
がスローされます。
IndexColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。
ColorModel
内の getComponents
pixel
- 指定されたピクセルcomponents
- 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset
- 指定されたピクセルの色成分およびアルファ成分の格納を開始する、components
配列へのインデックス
ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合、あるいは components
配列が null
ではなく、offset
を開始点にした場合に、すべての色成分およびアルファ成分を保持するに十分な大きさでない場合
ClassCastException
- pixel
が transferType
型のプリミティブ配列でない場合
UnsupportedOperationException
- transferType
がサポートされている転送型でない場合ColorModel.hasAlpha()
,
ColorModel.getNumComponents()
public int getDataElement(int[] components, int offset)
ColorModel
の int として表現されるピクセル値を返します。components 配列が、offset
を開始点にした場合に、すべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。 サブクラスがオーバーライドしない場合、サポートされていない transferType を使用した場合は例外をスローします。
ColorModel
内の getDataElement
components
- 標準化されていない色成分およびアルファ成分の配列offset
- 色成分およびアルファ成分の取得を開始する、components
のインデックス
ColorModel
内の int
ピクセル値
ArrayIndexOutOfBoundsException
- components
配列の大きさが offset
を起点にすべての色成分およびアルファ成分を保持するのに十分でない場合
UnsupportedOperationException
- transferType
が無効な場合public Object getDataElements(int[] components, int offset, Object pixel)
ColorModel
のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。components
配列が、offset
を開始点にした場合に、すべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ピクセル変数が null
の場合は、新しい配列が割り当てられます。pixel
が null
でない場合は、transferType
型のプリミティブ配列である必要があります。 そうでない場合は、ClassCastException
がスローされます。ピクセルがこの ColorModel
のピクセル値を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。
IndexColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType
を使用した場合は例外をスローします。
ColorModel
内の getDataElements
components
- 標準化されていない色成分およびアルファ成分の配列offset
- 色成分およびアルファ成分の取得を開始する、components
のインデックスpixel
- 色成分およびアルファ成分の配列を表す Object
Object
ClassCastException
- pixel
が transferType
型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException
- pixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合、あるいは components
配列が、offset
を開始点にした場合、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
UnsupportedOperationException
- transferType
がサポートされている転送型でない場合WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public WritableRaster createCompatibleWritableRaster(int w, int h)
ColorModel
と互換性のあるデータレイアウト (SampleModel
) を持つ、指定された幅と高さの WritableRaster
を生成します。このメソッドはピクセルごとのビットが 16 以下のカラーモデルの場合に限り機能します。
IndexColorModel
はサブクラス化できるため、ピクセルごとのビット数が 16 より大きい場合をサポートするすべてのサブクラスでは、このメソッドをオーバーライドする必要があります。
ColorModel
内の createCompatibleWritableRaster
w
- 新しい WritableRaster
に適用される幅h
- 新しい WritableRaster
に適用される高さ
WritableRaster
オブジェクト
UnsupportedOperationException
- ピクセルのビット数が 16 より大きい場合WritableRaster
,
SampleModel
public boolean isCompatibleRaster(Raster raster)
raster
がこの ColorModel
と互換性がある場合には true
を返し、そうでない場合には false
を返します。
ColorModel
内の isCompatibleRaster
raster
- 互換性を判定する Raster
オブジェクト
raster
がこの ColorModel
と 互換性がある場合は true
、そうでない場合は false
public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel
を作成します。
ColorModel
内の createCompatibleSampleModel
w
- 新しい SampleModel
に適用される幅h
- 新しい SampleModel
に適用される高さ
SampleModel
オブジェクト
IllegalArgumentException
- w
または h
がゼロ以下の場合SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを調べます。sm
が null
の場合、このメソッドは false
を返します。
ColorModel
内の isCompatibleSampleModel
sm
- 指定された SampleModel
、または null
SampleModel
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
SampleModel
public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
Raster
のインデックスを展開して計算したピクセルデータ付きの Raster
を持つ、TYPE_INT_ARGB または TYPE_INT_RGB の新しい BufferedImage
を、この ColorModel
の色成分とアルファ成分の配列を使って返します。ソース Raster
の各インデックス値の下位 n ビット (前述のクラスの記述で指定) だけが、返されるイメージの色やアルファの値の計算に使用されます。forceARGB
が true
の場合、この ColorModel
がアルファ成分配列または透明ピクセルのどちらを持つかにかかわらず、TYPE_INT_ARGB イメージが返されます。
raster
- 指定したRaster
forceARGB
- true
の場合、返されるBufferedImage
は TYPE_INT_ARGB、そうでない場合は TYPE_INT_RGB
Raster
で作成した BufferedImage
IllegalArgumentException
- raster 引数がこの IndexColorModel と互換性がない場合public boolean isValid(int pixel)
pixel
- 指定されたピクセル値
pixel
が有効な場合は true
、そうでない場合は false
public boolean isValid()
pixel
が有効な場合は true
、そうでない場合は false
public BigInteger getValidPixels()
BigInteger
を返します。BigInteger
値がそのインデックスに設定されている場合、ビットは有効、BigInteger
がそのインデックスに設定されていない場合は無効です。BigInteger
のなかで照会できる有効値はゼロからマップサイズの範囲だけです。
BigInteger
public void finalize()
ColorModel
が参照されなくなったときに、関連したシステムリソースを破棄します。
ColorModel
内の finalize
public String toString()
ColorModel
オブジェクトの内容を表す String
を返します。
ColorModel
内の toString
ColorModel
オブジェクトの内容を表す String
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。