JavaTM 2 Platform
Std. Ed. v1.3

java.awt.image
クラス IndexColorModel

java.lang.Object
  |
  +--java.awt.image.ColorModel
        |
        +--java.awt.image.IndexColorModel
すべての実装インタフェース:
Transparency

public class IndexColorModel
extends ColorModel

IndexColorModel クラスは、デフォルトの sRGB ColorSpace の固定カラーマップに対するインデックスである、単一のサンプルからなるピクセル値を扱う ColorModel クラスです。カラーマップは、赤、緑、青の色成分、および各インデックスに対応する任意のアルファ成分を指定します。成分はすべて、カラーマップ内の 8 ビットの符号なし整数値として表現されます。アルファが存在しない場合は、各エントリで不透明なアルファ成分 (アルファ = 1.0) が指定されたと見なされます。オプションの透明ピクセルの値を指定して、そのピクセル値に記録されたアルファ成分がどれであっても、どれが完全に透明なピクセルかを示すことができます。IndexColorModel オブジェクトのアルファ値は、あらかじめ乗算されることはありません。このカラーモデルは X11 の PseudoColor ビジュアルに類似しています。

ピクセル値で表現されるインデックスは、このクラスのメソッドに渡されるピクセル表現の最下位の n ビットに格納されます。ただし、n は特定の IndexColorModel オブジェクトのコンストラクタに指定されるピクセルサイズで、n は 1 〜 16 の間に限ります。ピクセル表現の上位ビットはゼロと見なされます。transferType 型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に 1 です。サポートされる転送タイプは、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT です。このクラスで使うピクセル値は常に単一の int として表現できるので、単一の int ピクセル表現はこのクラスのすべてのオブジェクトで有効です。このため、この表現を使うメソッドは、無効なピクセル値のために IllegalArgumentException をスローすることはありません。

このクラスのメソッドの多くは final です。その理由は、下位のネイティブなグラフィックスのコードがこのクラスの設計と操作に関しての前提となり、これらの前提がこのクラスで final になっているメソッドの実装に反映されているからです。このクラスをサブクラス化することはできますが、final なメソッドの動作をオーバーライドしたり、変更することはできません。

関連項目:
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.awt.image.ColorModel から継承したメソッド
coerceData, equals, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getGreen, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied
 
クラス java.lang.Object から継承したメソッド
clone, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

IndexColorModel

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 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] r,
                       byte[] g,
                       byte[] b,
                       int trans)
指定された赤、緑、青の色成分の配列から IndexColorModel を構築します。このカラーモデルによって記述されるピクセルはすべて、正規化されていない 255 (1.0 正規化) のアルファ成分を持ちます。つまり、指定された透明ピクセル以外は完全に不透明です。色成分を指定するすべての配列は、少なくとも指定のエントリ数を持つ必要があります。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は Transparency.BITMASK になります。転送タイプは、単一のピクセルを格納できる DataBuffer.TYPE_BYTE、または DataBuffer.TYPE_USHORT の最小のものになります。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
r - 赤色成分の配列
g - 緑色成分の配列
b - 青色成分の配列
trans - 透明ピクセルのインデックス
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] r,
                       byte[] g,
                       byte[] b,
                       byte[] a)
指定された赤、緑、青、アルファの色成分の配列から IndexColorModel を構築します。成分を指定するすべての配列は、少なくとも、指定された数のエントリを持たなければなりません。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は Transparency.TRANSLUCENT になります。転送タイプは、単一のピクセルを格納できる DataBuffer.TYPE_BYTE、または DataBuffer.TYPE_USHORT の最小のものになります。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
r - 赤色成分の配列
g - 緑色成分の配列
b - 青色成分の配列
a - アルファ値成分の配列
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] cmap,
                       int start,
                       boolean hasalpha)
インタリーブ化形式で格納されている赤、緑、青の色成分、およびオプションのアルファ成分からなる 1 つの配列から IndexColorModel を構築します。この配列の値は、指定されたサイズの成分配列をすべて満たすに充分な数である必要があります。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は、hasAlpha が true の場合には Transparency.TRANSLUCENT、そうでない場合には Transparency.OPAQUE になります。転送タイプは、単一のピクセルを格納できる DataBuffer.TYPE_BYTE、または DataBuffer.TYPE_USHORT の最小のものになります。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
cmap - 色成分の配列
start - 最初の色成分の開始オフセット
hasalpha - cmap 配列でのアルファ値の有無を示す
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       byte[] cmap,
                       int start,
                       boolean hasalpha,
                       int trans)
インタリーブ化形式で格納されている赤、緑、青の色成分、およびオプションのアルファ成分からなる 1 つの配列から IndexColorModel を構築します。指定の透明インデックスは、どのアルファ値が指定されていても、まったく透明であると見なされるピクセルを表現します。この配列の値は、指定されたサイズの成分配列をすべて満たすに充分な数である必要があります。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は、hasAlpha が true の場合には Transparency.TRANSLUCENT になります。そうでない場合、trans がカラーマップに対して有効なインデックス (0 〜サイズ - 1 の範囲) のときは Transparency.BITMASK、trans が有効なインデックスでないときは Transparency.OPAQUE になります。転送タイプは、単一のピクセルを格納できる DataBuffer.TYPE_BYTE、または DataBuffer.TYPE_USHORT の最小のものになります。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
cmap - 色成分の配列
start - 最初の色成分の開始オフセット
hasalpha - cmap 配列でのアルファ値の有無を示す
trans - 完全な透明ピクセルのインデックス
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       int[] cmap,
                       int start,
                       boolean hasalpha,
                       int trans,
                       int transferType)
int の配列から IndexColorModel を構築します。ただし、各 int は、デフォルトの RGB カラーモデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。指定された透明インデックスは、どのアルファ値が指定されていても、完全に透明であると見なされるピクセルを表現します。この配列の値は、指定されたサイズの成分配列をすべて満たすに充分な数である必要があります。ColorSpace はデフォルトの sRGB 領域になります。透明度の値は、hasAlpha が true の場合には Transparency.TRANSLUCENT になります。そうでない場合は、trans がカラーマップの有効なインデックス (0 〜サイズ - 1 の範囲) のときは Transparency.BITMASK、trans が有効なインデックスでないときは Transparency.OPAQUE になります。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
cmap - 色成分の配列
start - 最初の色成分の開始オフセット
hasalpha - cmap 配列でのアルファ値の有無を示す
trans - 完全な透明ピクセルのインデックス
transferType - ピクセル値を表すときに使用する配列のデータ形式。データ形式は、DataBuffer.TYPE_BYTE または DataBuffer.TYPE_USHORT のどちらか
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合

IndexColorModel

public IndexColorModel(int bits,
                       int size,
                       int[] cmap,
                       int start,
                       int transferType,
                       BigInteger validBits)
int の配列から IndexColorModel を構築します。ただし、各 int は、デフォルトの RGB カラーモデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。この配列の値は、指定されたサイズの成分配列をすべて満たすに充分な数である必要があります。ColorSpace はデフォルトの sRGB 領域になります。転送タイプは、単一のピクセルを格納できる DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、または DataBuffer.TYPE_INT の最小のものとなります。BigInteger オブジェクトは、cmap 配列の有効/無効ピクセルを指定します。ピクセルはそのインデックスの BigInteger 値が設定されていれば有効、そのインデックスの BigInteger ビットが設定されていない場合は無効です。
パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
cmap - 色成分の配列
start - 最初の色成分の開始オフセット
transferType - 指定されたデータタイプ
validBits - BigInteger のオブジェクト。ビットが BigInteger に設定されている場合は、インデックスのピクセルは有効。ビットが設定されていない場合は、インデックスのピクセルは無効と見なされる。null の場合は、すべてのピクセルが有効です。ゼロから map_size までのビットだけが設定できる
メソッドの詳細

getTransparency

public int getTransparency()
透明度を返します。OPAQUE、BITMASK、または TRANSLUCENT のどれかを返します。
オーバーライド:
クラス ColorModel 内の getTransparency
戻り値:
この IndexColorModel の透明度
関連項目:
Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT

getComponentSize

public int[] getComponentSize()
色成分やアルファ成分について 1 成分当たりのビット数の配列を返します。配列には、赤、緑、青の色成分、およびあればアルファ成分の順序で、色成分が格納されます。
オーバーライド:
クラス ColorModel 内の getComponentSize
戻り値:
この IndexColorModel の色成分およびアルファ成分ごとのビット数の配列

getMapSize

public final int getMapSize()
この IndexColorModel 内の色成分とアルファ成分の配列の大きさを返します。
戻り値:
色成分およびアルファ成分の配列の大きさ

getTransparentPixel

public final int getTransparentPixel()
この IndexColorModel 内の透明ピクセルのインデックスを返します。ただし、透明ピクセルがない場合は -1 を返します。
戻り値:
この IndexColorModel のオブジェクトの透明ピクセルのインデックスを返します。ただし、透明ピクセルがない場合は -1 を返します。

getReds

public final void getReds(byte[] r)
赤の色成分の配列を指定の配列にコピーします。getMapSize で指定された配列の初期入力だけが書き込まれます。
パラメータ:
r - 赤の色成分の配列要素のコピー先の指定配列

getGreens

public final void getGreens(byte[] g)
緑の色成分の配列を指定の配列にコピーします。getMapSize で指定された配列の初期入力だけが書き込まれます。
パラメータ:
g - 緑の色成分の配列要素のコピー先の指定配列

getBlues

public final void getBlues(byte[] b)
青の色成分の配列を指定の配列にコピーします。getMapSize で指定された配列の初期入力だけが書き込まれます。
パラメータ:
b - 青の色成分の配列要素のコピー先の指定配列

getAlphas

public final void getAlphas(byte[] a)
アルファの透明成分の配列を指定の配列にコピーします。getMapSize で指定された配列の初期入力だけが書き込まれます。
パラメータ:
a - アルファ成分の配列要素のコピー先の指定配列

getRGBs

public final void getRGBs(int[] rgb)
各インデックスのデータを色成分とアルファ成分の配列からデフォルトの RGB ColorModel 形式の int に変換し、その結果の 32 ビット ARGB 値を指定された配列にコピーします。getMapSize で指定された配列の初期入力だけが書き込まれます。
パラメータ:
rgb - この色成分およびアルファ成分配列から変換した ARGB 値のコピー先の指定配列

getRed

public final int getRed(int pixel)
指定されたピクセルの赤の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。ピクセル値は int として指定されます。戻り値は、あらかじめ乗算されていない値になります。
オーバーライド:
クラス ColorModel 内の getRed
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの赤色成分の値

getGreen

public final int getGreen(int pixel)
指定されたピクセルの緑の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。ピクセル値は int として指定されます。戻り値は、あらかじめ乗算されていない値になります。
オーバーライド:
クラス ColorModel 内の getGreen
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの緑色成分の値

getBlue

public final int getBlue(int pixel)
指定されたピクセルの青の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。ピクセル値は int として指定されます。戻り値は、あらかじめ乗算されていない値になります。
オーバーライド:
クラス ColorModel 内の getBlue
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの青色成分の値

getAlpha

public final int getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。ピクセル値は int として指定されます。
オーバーライド:
クラス ColorModel 内の getAlpha
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルのアルファ成分の値

getRGB

public final int getRGB(int pixel)
ピクセルの色成分とアルファ成分を、デフォルトの RGB カラーモデル形式で返します。ピクセル値は int として指定されます。戻り値は、あらかじめ乗算されていない形式になります。
オーバーライド:
クラス ColorModel 内の getRGB
パラメータ:
pixel - 指定されたピクセル
戻り値:
指定されたピクセルの色成分およびアルファ成分
関連項目:
ColorModel.getRGBdefault()

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)
指定されたデフォルトの RGB カラーモデルの整数ピクセル表現について、この ColorModel のピクセルのデータ要素配列表現を返します。これにより、この配列は WritableRaster オブジェクトの setDataElements メソッドに渡されます。pixel 変数が null の場合は、新しい配列が割り当てられます。pixelnull でない場合は、transferType 型のプリミティブ配列である必要があります。そうでない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。ピクセル配列が返されます。

IndexColorModel はサブクラス化できるためこのメソッドの実装を継承します。オーバーライドしない場合、サポートされていない transferType を使用した場合は例外をスローします。

オーバーライド:
クラス ColorModel 内の getDataElements
パラメータ:
rgb - デフォルト RGB カラーモデルの整数型ピクセル表現
pixel - 指定されたピクセル
戻り値:
この IndexColorModel の指定されたピクセルの配列表現
例外:
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合
UnsupportedOperationException - transferType が無効な場合
関連項目:
WritableRaster.setDataElements(int, int, java.lang.Object), SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)

getComponents

public int[] getComponents(int pixel,
                           int[] components,
                           int offset)
この ColorModel の指定されたピクセルについて、非正規化形式の色成分とアルファ成分の配列を返します。ピクセル値は int として指定されます。成分配列が null の場合、新しい配列が割り当てられます。成分配列が返されます。色成分とアルファ成分は、offset から開始される成分配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。成分配列が null でなく、色成分とアルファ成分 (offset から始まる) のすべてを格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。
オーバーライド:
クラス ColorModel 内の getComponents
パラメータ:
pixel - 指定されたピクセル
components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
offset - 色成分およびアルファ成分の格納を開始する、components 配列内のオフセット
戻り値:
指定されたオフセットから、指定されたピクセルの色成分およびアルファ成分が格納されている配列

getComponents

public int[] getComponents(Object pixel,
                           int[] components,
                           int offset)
この ColorModel の指定されたピクセルについて、非正規化形式の色成分とアルファ成分の配列を返します。ピクセル値は、オブジェクト参照として渡される transferType 型のデータ要素の配列によって指定されます。pixeltransferType 型のプリミティブ配列でない場合は、ClassCastException がスローされます。pixel がこの ColorModel のピクセル値を格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。components 配列が null の場合は、新しい配列が割り当てられます。その components 配列が返されます。色成分とアルファ成分は、offset から始まる components 配列に格納されます。これは、配列がこのメソッドで割り当てられても変わりません。components 配列が null でなく、色成分とアルファ成分 (offset から始まる) のすべてを格納できるほど大きくない場合は、ArrayIndexOutOfBoundsException がスローされます。

IndexColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType を使用した場合は例外をスローします。

オーバーライド:
クラス ColorModel 内の getComponents
パラメータ:
pixel - 指定されたピクセル
components - 指定されたピクセルの色成分およびアルファ成分を受け取る配列
offset - 指定されたピクセルの色成分およびアルファ成分の格納を開始する components 配列内のインデックス
戻り値:
指定されたオフセットから、指定されたピクセルの色成分およびアルファ成分が格納されている配列
例外:
ArrayIndexOutOfBoundsException - pixel がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合、あるいは components 配列が null ではなく offset を起点にすべての色成分およびアルファ成分を保持するに十分な大きさでない場合
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
UnsupportedOperationException - transferType がサポートされている転送型でない場合

getDataElement

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 が無効な場合

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object pixel)
非標準化色成分およびアルファ成分の配列を指定して、この ColorModel のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster オブジェクトの setDataElements メソッドに渡すことができます。components 配列が (offset を起点に) すべての色成分およびアルファ成分を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。ピクセル変数が null の場合は、新しい配列が割り当てられます。pixelnull でない場合は、transferType 型のプリミティブ配列である必要があります。そうでない場合は、ClassCastException がスローされます。ピクセルがこの ColorModel のピクセル値を格納するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException がスローされます。

IndexColorModel はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていない transferType を使用した場合は例外をスローします。

オーバーライド:
クラス ColorModel 内の getDataElements
パラメータ:
components - 標準化されていない色成分およびアルファ成分の配列
offset - 色成分およびアルファ成分の取り出しを開始する、components 内のインデックス
pixel - 色成分およびアルファ成分の配列を表す Object
戻り値:
色成分およびアルファ成分の配列を表す Object
例外:
ClassCastException - pixeltransferType 型のプリミティブ配列でない場合
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)

createCompatibleWritableRaster

public WritableRaster createCompatibleWritableRaster(int w,
                                                     int h)
指定された幅および高さで、この ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ WritableRaster を作成します。このメソッドはピクセルごとのビットが 16 以下のカラーモデルの場合に限り機能します。

IndexColorModel はサブクラス化できるため、ピクセルごとのビット数 16 より大きい場合をサポートするすべてのサブクラスはこのメソッドをオーバーライドする必要があります。

オーバーライド:
クラス ColorModel 内の createCompatibleWritableRaster
パラメータ:
w - 新しい WritableRaster に適用される幅
h - 新しい WritableRaster に適用される高さ
戻り値:
指定された幅と高さを持つ WritableRaster オブジェクト
例外:
UnsupportedOperationException - ピクセルのビット数が 16 より大きい場合
関連項目:
WritableRaster, SampleModel

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合には true を返し、そうでない場合には false を返します。
オーバーライド:
クラス ColorModel 内の isCompatibleRaster
パラメータ:
raster - 互換性を判定する Raster オブジェクト
戻り値:
raster がこの ColorModel と互換性がある場合は true、そうでない場合は false

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)
この ColorModel と互換性のあるデータレイアウトを持つ、指定された幅と高さの SampleModel を作成します。
オーバーライド:
クラス ColorModel 内の createCompatibleSampleModel
パラメータ:
w - 新しい SampleModel に適用される幅
h - 新しい SampleModel に適用される高さ
戻り値:
指定された幅と高さを持つ SampleModel オブジェクト
例外:
IllegalArgumentException - w または h が 0 以下の場合
関連項目:
SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを調べます。smnull の場合は、このメソッドは false を返します。
オーバーライド:
クラス ColorModel 内の isCompatibleSampleModel
パラメータ:
sm - 指定された SampleModel、または null
戻り値:
指定された SampleModel がこの ColorModel と互換性がある場合は true、そうでない場合は false
関連項目:
SampleModel

convertToIntDiscrete

public BufferedImage convertToIntDiscrete(Raster raster,
                                          boolean forceARGB)
ソース Raster のインデックスを展開して計算したピクセルデータ付きの Raster を持つ TYPE_INT_ARGB または TYPE_INT_RGB の新しい BufferedImage を、この ColorModel の色成分とアルファ成分の配列を使って返します。forceARGBtrue の場合、この ColorModel がアルファ成分配列または透明ピクセルのどちらを持つかにかかわらず、TYPE_INT_ARGB イメージが返されます。
パラメータ:
raster - 指定したRaster
forceARGB - true の場合、返される BufferedImage は TYPE_INT_ARGB、そうでない場合は TYPE_INT_RGB
戻り値:
指定された Raster で作成した BufferedImage

isValid

public boolean isValid(int pixel)
ピクセルが有効かどうかを返します。
パラメータ:
pixel - 指定されたピクセル値
戻り値:
pixel が有効な場合は true、そうでない場合は false

isValid

public boolean isValid()
すべてのピクセルが有効かどうかを返します。
戻り値:
すべての pixel が有効な場合は true、そうでない場合は false

getValidPixels

public BigInteger getValidPixels()
カラーマップの有効/無効ピクセルを示す BigInteger を返します。BigInteger 値がそのインデックスに設定されている場合は、ビットは有効、BigInteger がそのインデックスに設定されていない場合は無効。BigInteger のなかで照会できる有効値はゼロから map_size の範囲だけです。
戻り値:
有効/無効ピクセルを示す BigInteger

finalize

public void finalize()
この ColorModel が参照されなくなったときに、関連したシステムリソースを破棄します。
オーバーライド:
クラス ColorModel 内の finalize
クラス java.lang.Object からコピーされたタグ:
例外:
Throwable - このメソッドで生じた Exception

toString

public String toString()
この ColorModel オブジェクトの内容を表す String を返します。
オーバーライド:
クラス ColorModel 内の toString
戻り値:
この ColorModel オブジェクトの内容を表す String

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.