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
, DataBuffer
pixel_bits, transferType
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 を構築します。ただし、各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, isAlphaPremultiplied
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()
getTransparency
、インタフェース: Transparency
getTransparency
、クラス: ColorModel
IndexColorModel
の透明度Transparency.OPAQUE
, Transparency.BITMASK
, Transparency.TRANSLUCENT
public int[] getComponentSize()
getComponentSize
、クラス: ColorModel
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)
getRed
、クラス: ColorModel
pixel
- 指定されたピクセルpublic final int getGreen(int pixel)
getGreen
、クラス: ColorModel
pixel
- 指定されたピクセルpublic final int getBlue(int pixel)
getBlue
、クラス: ColorModel
pixel
- 指定されたピクセルpublic final int getAlpha(int pixel)
getAlpha
、クラス: ColorModel
pixel
- 指定されたピクセルpublic final int getRGB(int pixel)
getRGB
、クラス: ColorModel
pixel
- 指定されたピクセルColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
WritableRaster
オブジェクトのsetDataElements
メソッドに渡すことができます。ピクセル変数がnull
の場合は、新しい配列が割り当てられます。pixel
がnull
でない場合、transferType
型のプリミティブ配列でなければならず、そうでない場合はClassCastException
がスローされます。pixel
がこのColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。ピクセル配列が返されます。
IndexColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferType
を使用した場合は例外をスローします。
getDataElements
、クラス: ColorModel
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
がスローされます。getComponents
、クラス: ColorModel
pixel
- 指定されたピクセル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
、クラス: ColorModel
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を使用した場合、例外がスローされます。getDataElement
、クラス: ColorModel
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
がスローされます。pixelがこのColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされます。
IndexColorModel
はサブクラス化できるため、サブクラスはこのメソッドの実装を継承します。サブクラスがオーバーライドしない場合、サポートされていないtransferType
を使用した場合は例外をスローします。
getDataElements
、クラス: ColorModel
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より大きい場合をサポートするすべてのサブクラスでは、このメソッドをオーバーライドする必要があります。
createCompatibleWritableRaster
、クラス: ColorModel
w
- 新しいWritableRaster
に適用される幅h
- 新しいWritableRaster
に適用される高さWritableRaster
オブジェクト。UnsupportedOperationException
- ピクセルのビット数が16より大きい場合WritableRaster
、SampleModel
public boolean isCompatibleRaster(Raster raster)
raster
がこのColorModel
と互換性がある場合はtrue
、このColorModel
と互換性がない場合はfalse
を返します。isCompatibleRaster
、クラス: ColorModel
raster
- 互換性を判定するRaster
オブジェクトraster
がこのColorModel
と互換性がある場合はtrue
、それ以外の場合はfalse
。public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
と互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModel
を作成します。createCompatibleSampleModel
、クラス: ColorModel
w
- 新しいSampleModel
に適用される幅h
- 新しいSampleModel
に適用される高さSampleModel
オブジェクト。IllegalArgumentException
- w
またはh
が0以下である場合SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこのColorModel
と互換性があるかどうかを調べます。sm
がnull
の場合、このメソッドはfalse
を返します。isCompatibleSampleModel
、クラス: ColorModel
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_RGBRaster
で作成したBufferedImage
IllegalArgumentException
- 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
、クラス: ColorModel
WeakReference
, PhantomReference
public String toString()
ColorModel
オブジェクトの内容を表すString
を返します。toString
、クラス: ColorModel
ColorModel
オブジェクトの内容を表すString
。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。