JavaTM 2
Platform
Std. Ed. v1.4.0

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, getDataElement, getDataElements, getGreen, getNormalizedComponents, 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 領域になります。透明度の値は、hasAlphatrue の場合には 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 領域になります。透明度の値は、hasAlphatrue の場合には 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 領域になります。透明度の値は、hasAlphatrue の場合には 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 未満の場合
IllegalArgumentException - transferTypeDataBuffer.TYPE_BYTE または DataBuffer.TYPE_USHORT のどちらでもない場合

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 のどちらかです。BigInteger オブジェクトは、cmap 配列の有効/無効ピクセルを指定します。ピクセルはそのインデックスの BigInteger 値が設定されていれば有効、そのインデックスの BigInteger ビットが設定されていない場合は無効です。

パラメータ:
bits - 1 ピクセルあたりのビット数
size - 色成分の配列の大きさ
cmap - 色成分の配列
start - 最初の色成分の開始オフセット
transferType - 指定されたデータ型
validBits - BigInteger のオブジェクト。ビットが BigInteger に設定されている場合は、インデックスのピクセルは有効。ビットが設定されていない場合は、インデックスのピクセルは無効と見なされる。null の場合は、すべてのピクセルが有効。ゼロから map_size までのビットだけが考慮される
例外:
IllegalArgumentException - bits が 1 より小さいか、16 より大きい場合
IllegalArgumentException - size が 1 未満の場合
IllegalArgumentException - transferTypeDataBuffer.TYPE_BYTE または DataBuffer.TYPE_USHORT のどちらでもない場合
メソッドの詳細

getTransparency

public int getTransparency()
透明度を返します。OPAQUE、BITMASK、または TRANSLUCENT のどちらかを返します。

定義:
インタフェース Transparency 内の getTransparency
オーバーライド:
クラス 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 がゼロ以下の場合
関連項目:
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
例外:
IllegalArgumentException - raster 引数がこの IndexColorModel と互換性がない場合

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

toString

public String toString()
この ColorModel オブジェクトの内容を表す String を返します。

オーバーライド:
クラス ColorModel 内の toString
戻り値:
この ColorModel オブジェクトの内容を表す String

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.