public class IndexColorModel extends ColorModel
IndexColorModelクラスは、デフォルトのsRGBカラー・スペースの固定カラー・マップに対するインデックスである、単一のサンプルからなるピクセル値を扱うColorModelクラスです。 カラー・マップは、赤、緑、青の色成分、および各インデックスに対応するオプションのアルファ成分を指定します。 成分はすべて、カラー・マップ内の8ビットの符号なし整数値として表現されます。 いくつかのコンストラクタでは、呼出し側が、BigIntegerオブジェクトに設定されたビットによって、どのカラー・マップ・エントリが有効か、およびどのカラー・マップ・エントリが使用不可能な色を表しているかを示すことによって、カラー・マップの「穴」を指定できます。 このカラー・モデルはX11のPseudoColorと同じものです。
コンストラクタによっては、カラー・マップの各ピクセルのアルファ成分を指定する手段を提供しているものもありますが、そうした手段を提供しないコンストラクタや、場合によってはカラー・マップ・データにアルファ値が格納されているかどうかを示すフラグを提供するコンストラクタもあります。 コンストラクタにアルファが指定されない場合は、各エントリに不透明なアルファ成分(アルファ= 1.0)が指定されているとみなされます。 オプションとして透明ピクセルの値を指定して、そのピクセル値に指定または想定されたアルファ成分がどれであっても、完全に透明にするピクセルであることを示すことができます。 IndexColorModelオブジェクトのカラー・マップの色成分はアルファ成分によってあらかじめ乗算されることはありません。
IndexColorModelオブジェクトがTransparency.OPAQUEの透明度の値を持つ場合、hasAlphaメソッドおよびgetNumComponentsメソッド(ともにColorModelから継承されます)はそれぞれfalseおよび3を返します。 ほかの透明度の値の場合、hasAlphaメソッドはtrueを返し、getNumComponentsメソッドは4を返します。
transferType型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に1です。 サポートされる転送型は、DataBuffer.TYPE_BYTEおよびDataBuffer.TYPE_USHORTです。 このクラスで使うピクセル値は常に単一のintとして表現できるので、単一のintピクセル表現はこのクラスのすべてのオブジェクトで有効です。 このため、この表現を使うメソッドは、無効なピクセル値が原因でIllegalArgumentExceptionをスローすることはありません。
このクラスのメソッドの多くはfinalです。 その理由は、下位のネイティブなグラフィックスのコードがこのクラスの設計と操作に関しての前提となり、これらの前提がこのクラスでfinalになっているメソッドの実装に反映されているからです。 他の理由でこのクラスをサブクラス化することはできますが、それらのメソッドの動作をオーバーライドしたり、変更することはできません。
ColorModel, ColorSpace, DataBufferpixel_bits, transferTypeBITMASK, 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を構築します。ただし、各intは、デフォルトのRGBカラー・モデル形式の赤、緑、青の色成分、およびオプションのアルファ成分からなります。 |
IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits) |
intの配列からIndexColorModelを構築します。ただし、各intは、デフォルトのRGBカラー・モデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
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が参照されなくなったときに、この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内の透明ピクセルのインデックスを返します。ただし、アルファ値0のピクセルがない場合は -1を返します。 |
BigInteger |
getValidPixels() |
カラー・マップの有効/無効ピクセルを示す
BigIntegerを返します。 |
boolean |
isCompatibleRaster(Raster raster) |
rasterがこのColorModelと互換性がある場合はtrue、このColorModelと互換性がない場合はfalseを返します。 |
boolean |
isCompatibleSampleModel(SampleModel sm) |
指定された
SampleModelがこのColorModelと互換性があるかどうかを調べます。 |
boolean |
isValid() |
すべてのピクセルが有効かどうかを返します。
|
boolean |
isValid(int pixel) |
ピクセルが有効かどうかを返します。
|
String |
toString() |
この
ColorModelオブジェクトの内容を表すStringを返します。 |
coerceData, equals, getAlpha, getAlphaRaster, getBlue, getColorSpace, getComponentSize, getDataElement, getDataElements, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRGB, getRGBdefault, getTransferType, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultipliedpublic 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()
getTransparency、インタフェースTransparencygetTransparency、クラスColorModelIndexColorModelの透明度Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENTpublic int[] getComponentSize()
getComponentSize、クラスColorModelIndexColorModelの色成分およびアルファ成分ごとのビット数の配列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)
getRed、クラスColorModelpixel - 指定されたピクセルpublic final int getGreen(int pixel)
getGreen、クラスColorModelpixel - 指定されたピクセルpublic final int getBlue(int pixel)
getBlue、クラスColorModelpixel - 指定されたピクセルpublic final int getAlpha(int pixel)
getAlpha、クラスColorModelpixel - 指定されたピクセルpublic final int getRGB(int pixel)
getRGB、クラスColorModelpixel - 指定されたピクセルColorModel.getRGBdefault()public Object getDataElements(int rgb, Object pixel)
WritableRasterオブジェクトのsetDataElementsメソッドに渡すことができます。 ピクセル変数がnullの場合は、新しい配列が割り当てられます。 pixelがnullでない場合、transferType型のプリミティブ配列でなければならず、そうでない場合はClassCastExceptionがスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 ピクセル配列が返されます。
IndexColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferTypeを使用した場合は例外をスローします。
getDataElements、クラスColorModelrgb - デフォルト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がスローされます。 getComponents、クラスColorModelpixel - 指定されたピクセルcomponents - 指定されたピクセルの色成分およびアルファ成分を受け取る配列offset - 色成分およびアルファ成分の格納を開始する、components配列へのオフセットColorModel.hasAlpha(), ColorModel.getNumComponents()public int[] getComponents(Object pixel, int[] components, int offset)
ColorModelの指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 pixelがtransferType型のプリミティブ配列でない場合、ClassCastExceptionがスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。 components配列がnullの場合は、offset+getNumComponents()要素を含む新しい配列が割り当てられます。 そのcomponents配列が返されますが、hasAlphaがtrueを返す場合のみ、アルファ成分が含まれます。 色成分とアルファ成分は、配列がこのメソッドで割り当てられても、offsetから始まるcomponents配列に格納されます。 components配列がnullでない場合に、offsetを起点に、すべての色成分およびアルファ成分を保持するのに十分な大きさでないときにも、ArrayIndexOutOfBoundsExceptionがスローされます。
IndexColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferTypeを使用した場合は例外をスローします。
getComponents、クラスColorModelpixel - 指定されたピクセル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を使用した場合、例外がスローされます。 getDataElement、クラスColorModelcomponents - 標準化されていない色成分およびアルファ成分の配列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がスローされます。 pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsExceptionがスローされます。
IndexColorModelはサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferTypeを使用した場合は例外をスローします。
getDataElements、クラスColorModelcomponents - 標準化されていない色成分およびアルファ成分の配列offset - 色成分およびアルファ成分の取得を開始する、componentsのインデックスpixel - 色成分およびアルファ成分の配列を表すObjectObject。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より大きい場合をサポートするすべてのサブクラスでは、このメソッドをオーバーライドする必要があります。
createCompatibleWritableRaster、クラスColorModelw - 新しいWritableRasterに適用される幅h - 新しいWritableRasterに適用される高さWritableRasterオブジェクト。UnsupportedOperationException - ピクセルのビット数が16より大きい場合WritableRaster、SampleModelpublic boolean isCompatibleRaster(Raster raster)
rasterがこのColorModelと互換性がある場合はtrue、このColorModelと互換性がない場合はfalseを返します。isCompatibleRaster、クラスColorModelraster - 互換性を判定するRasterオブジェクトrasterがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse。public SampleModel createCompatibleSampleModel(int w, int h)
ColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。createCompatibleSampleModel、クラスColorModelw - 新しいSampleModelに適用される幅h - 新しいSampleModelに適用される高さSampleModelオブジェクト。IllegalArgumentException - wまたはhが0以下である場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModelがこのColorModelと互換性があるかどうかを調べます。 smがnullの場合、このメソッドはfalseを返します。 isCompatibleSampleModel、クラスColorModelsm - 指定されたSampleModel、またはnullSampleModelがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse。SampleModelpublic 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 - 指定されたRasterforceARGB - trueの場合、返されるBufferedImageはTYPE_INT_ARGB、そうでない場合はTYPE_INT_RGBRasterで作成したBufferedImageIllegalArgumentException - raster引数がこのIndexColorModelと互換性がない場合public boolean isValid(int pixel)
pixel - 指定されたピクセル値pixelが有効である場合はtrue、それ以外の場合はfalse。public boolean isValid()
true、そうでない場合はfalse。public BigInteger getValidPixels()
BigIntegerを返します。 BigInteger値がそのインデックスに設定されている場合、ビットは有効、BigInteger値がそのインデックスに設定されていない場合は無効です。 BigIntegerのなかで照会できる有効値はゼロからマップ・サイズの範囲だけです。 BigInteger。public void finalize()
ColorModelが参照されなくなったときに、このColorModelに関連付けられたシステム・リソースを破棄します。finalize、クラスColorModelWeakReference, PhantomReferencepublic String toString()
ColorModelオブジェクトの内容を表すStringを返します。toString、クラスColorModelColorModelオブジェクトの内容を表すString。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。