モジュール java.desktop
パッケージ java.awt.image

クラスIndexColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.IndexColorModel
すべての実装されたインタフェース:
Transparency

public class IndexColorModel extends ColorModel
IndexColorModelクラスは、デフォルトのsRGBカラー・スペースの固定カラー・マップに対するインデックスである、単一のサンプルからなるピクセル値を扱うColorModelクラスです。 カラー・マップは、赤、緑、青の色成分、および各インデックスに対応するオプションのアルファ成分を指定します。 成分はすべて、カラー・マップ内の8ビットの符号なし整数値として表現されます。 いくつかのコンストラクタでは、呼出し側が、BigIntegerオブジェクトに設定されたビットによって、どのカラー・マップ・エントリが有効か、およびどのカラー・マップ・エントリが使用不可能な色を表しているかを示すことによって、カラー・マップの「穴」を指定できます。 このカラー・モデルはX11のPseudoColorと同じものです。

コンストラクタによっては、カラー・マップの各ピクセルのアルファ成分を指定する手段を提供しているものもありますが、そうした手段を提供しないコンストラクタや、場合によってはカラー・マップ・データにアルファ値が格納されているかどうかを示すフラグを提供するコンストラクタもあります。 コンストラクタにアルファが指定されない場合は、各エントリに不透明なアルファ成分(アルファ= 1.0)が指定されているとみなされます。 オプションとして透明ピクセルの値を指定して、そのピクセル値に指定または想定されたアルファ成分がどれであっても、完全に透明にするピクセルであることを示すことができます。 IndexColorModelオブジェクトのカラー・マップの色成分はアルファ成分によってあらかじめ乗算されることはありません。

IndexColorModelオブジェクトの透明度は、カラー・マップの色のアルファ成分を調べ、指定されたオプションのアルファ値および透明インデックスを考慮したあと、もっとも特有な値を選択することによって判断できます。カラー・マップのすべての有効な色が不透明で、有効な透明ピクセルがない場合のみ、透明度の値はTransparency.OPAQUEです。カラー・マップの有効なすべての色が完全に不透明(アルファ= 1.0)か、または完全に透明(alpha = 0.0)である場合(一般に有効な透明ピクセルが指定される場合に起こります)、値はTransparency.BITMASKになります。それ以外の場合、値はTransparency.TRANSLUCENTであり、一部の有効な色が、完全に透明でも完全に不透明でもないアルファ成分(0.0 < アルファ< 1.0)を持つことを示します。

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が返されます。

transferType型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に1です。 サポートされる転送型は、DataBuffer.TYPE_BYTEおよびDataBuffer.TYPE_USHORTです。 このクラスで使うピクセル値は常に単一のintとして表現できるので、単一のintピクセル表現はこのクラスのすべてのオブジェクトで有効です。 このため、この表現を使うメソッドは、無効なピクセル値が原因でIllegalArgumentExceptionをスローすることはありません。

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

関連項目:
  • フィールドのサマリー

    クラス 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を構築します。ただし、各intは、デフォルトのRGBカラー・モデル形式の赤、緑、青の色成分、およびオプションのアルファ成分からなります。
    IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
    intの配列からIndexColorModelを構築します。ただし、各intは、デフォルトのRGBカラー・モデル形式の赤、緑、青の色成分、および任意のアルファ成分からなります。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    convertToIntDiscrete(Raster raster, boolean forceARGB)
    ソースRasterのインデックスを展開して計算したピクセル・データ付きのRasterを持つ、TYPE_INT_ARGBまたはTYPE_INT_RGBの新しいBufferedImageを、このColorModelの色成分とアルファ成分の配列を使って返します。
    このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
    このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
    boolean
    指定されたObjectIndexColorModelのインスタンスであるかどうかをテストし、それがこのIndexColorModelと等しいかどうかを判定します。
    final int
    getAlpha(int pixel)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    final void
    getAlphas(byte[] a)
    アルファの透明成分の配列を指定された配列にコピーします。
    final int
    getBlue(int pixel)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final void
    getBlues(byte[] b)
    青の色成分の配列を指定された配列にコピーします。
    int[]
    getComponents(int pixel, int[] components, int offset)
    このColorModelの指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。
    int[]
    getComponents(Object pixel, int[] components, int offset)
    このColorModelの指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。
    int[]
    色成分やアルファ成分について1成分あたりのビット数の配列を返します。
    int
    getDataElement(int[] components, int offset)
    指定された、標準化されていない色成分とアルファ成分の配列について、このColorModelのintとして表現されるピクセル値を返します。
    getDataElements(int[] components, int offset, Object pixel)
    標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    getDataElements(int rgb, Object pixel)
    デフォルトRGBカラー・モデルの整数型ピクセル表現を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    final int
    getGreen(int pixel)
    指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final void
    getGreens(byte[] g)
    緑の色成分の配列を指定された配列にコピーします。
    final int
    このIndexColorModel内の色成分とアルファ成分の配列の大きさを返します。
    final int
    getRed(int pixel)
    指定されたピクセルの赤の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    final void
    getReds(byte[] r)
    赤の色成分の配列を指定された配列にコピーします。
    final int
    getRGB(int pixel)
    ピクセルの色成分とアルファ成分を、デフォルトのRGBカラー・モデル形式で返します。
    final void
    getRGBs(int[] rgb)
    各インデックスのデータを色成分とアルファ成分の配列からデフォルトのRGB ColorModel形式のintに変換し、結果として得られる32ビットARGB値を指定された配列にコピーします。
    int
    透明度を返します。
    final int
    このIndexColorModel内の透明ピクセルのインデックスを返します。ただし、アルファ値0のピクセルがない場合は -1を返します。
    カラー・マップの有効/無効ピクセルを示すBigIntegerを返します。
    int
    IndexColorModelのハッシュ・コードを返します。
    boolean
    rasterがこのColorModelと互換性がある場合はtrue、このColorModelと互換性がない場合はfalseを返します。
    boolean
    指定されたSampleModelがこのColorModelと互換性があるかどうかを調べます。
    boolean
    すべてのピクセルが有効かどうかを返します。
    boolean
    isValid(int pixel)
    ピクセルが有効かどうかを返します。
    このColorModel オブジェクトの内容を表すStringを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, 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.OPAQUEまたは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.OPAQUETransparency.BITMASK、または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領域になります。 上記のクラスの説明に示すように、透明度の値は引数に応じてTransparency.OPAQUETransparency.BITMASK、またはTransparency.TRANSLUCENTになります。 転送型は、単一のピクセルを格納できる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領域になります。 上記のクラスの説明に示すように、透明度の値は引数に応じてTransparency.OPAQUETransparency.BITMASK、またはTransparency.TRANSLUCENTになります。 転送型は、単一のピクセルを格納できる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領域になります。 上記のクラスの説明に示すように、透明度の値は引数に応じてTransparency.OPAQUETransparency.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 - 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領域になります。 上記のクラスの説明に示すように、透明度の値は引数に応じてTransparency.OPAQUETransparency.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 - transferTypeDataBuffer.TYPE_BYTEまたはDataBuffer.TYPE_USHORTのいずれでもない場合
      導入されたバージョン:
      1.3
  • メソッドの詳細

    • getTransparency

      public int getTransparency()
      透明度を返します。 OPAQUE、BITMASK、TRANSLUCENTのいずれかを返します。
      定義:
      getTransparency、インタフェース: Transparency
      オーバーライド:
      getTransparency、クラス: ColorModel
      戻り値:
      このIndexColorModelの透明度
      関連項目:
    • getComponentSize

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

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

      public final int getTransparentPixel()
      このIndexColorModel内の透明ピクセルのインデックスを返します。ただし、アルファ値0のピクセルがない場合は -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として指定されます。 ピクセル値の下位nビット(前述のクラスの記述で指定)だけが戻り値の計算に使用されます。 戻り値は、あらかじめ乗算されていない値になります。
      定義:
      getRed、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルの赤色成分の値
    • getGreen

      public final int getGreen(int pixel)
      指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。 ピクセル値はintとして指定されます。 ピクセル値の下位nビット(前述のクラスの記述で指定)だけが戻り値の計算に使用されます。 戻り値は、あらかじめ乗算されていない値になります。
      定義:
      getGreen、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルの緑色成分の値
    • getBlue

      public final int getBlue(int pixel)
      指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。 ピクセル値はintとして指定されます。 ピクセル値の下位nビット(前述のクラスの記述で指定)だけが戻り値の計算に使用されます。 戻り値は、あらかじめ乗算されていない値になります。
      定義:
      getBlue、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルの青色成分の値
    • getAlpha

      public final int getAlpha(int pixel)
      指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。 ピクセル値はintとして指定されます。 ピクセル値の下位nビット(前述のクラスの記述で指定)だけが戻り値の計算に使用されます。
      定義:
      getAlpha、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルのアルファ成分の値
    • getRGB

      public final int getRGB(int pixel)
      ピクセルの色成分とアルファ成分を、デフォルトのRGBカラー・モデル形式で返します。 ピクセル値はintとして指定されます。 ピクセル値の下位nビット(前述のクラスの記述で指定)だけが戻り値の計算に使用されます。 戻り値は、あらかじめ乗算されていない形式になります。
      オーバーライド:
      getRGB、クラス: ColorModel
      パラメータ:
      pixel - 指定されたピクセル
      戻り値:
      指定されたピクセルの色成分およびアルファ成分
      関連項目:
    • getDataElements

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

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

      オーバーライド:
      getDataElements、クラス: ColorModel
      パラメータ:
      rgb - デフォルトRGBカラー・モデルの整数型ピクセル表現
      pixel - 指定されたピクセル
      戻り値:
      このIndexColorModelの指定されたピクセルの配列表現。
      例外:
      ClassCastException - pixeltransferType型のプリミティブ配列でない場合
      ArrayIndexOutOfBoundsException - pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合
      UnsupportedOperationException - transferTypeが無効である場合
      関連項目:
    • getComponents

      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配列へのオフセット
      戻り値:
      指定されたオフセット以降に、指定されたピクセルの色成分およびアルファ成分が格納されている配列
      関連項目:
    • getComponents

      public int[] getComponents(Object pixel, int[] components, int offset)
      このColorModelの指定されたピクセルについて、標準化されていない色成分とアルファ成分の配列を返します。 pixel値は、オブジェクト参照として渡されたtransferType型のデータ要素からなる配列によって指定されます。 pixeltransferType型のプリミティブ配列でない場合、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 - pixeltransferType型のプリミティブ配列でない場合
      UnsupportedOperationException - transferTypeがサポートされている転送型でない場合
      関連項目:
    • getDataElement

      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が無効である場合
    • getDataElements

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

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

      オーバーライド:
      getDataElements、クラス: ColorModel
      パラメータ:
      components - 標準化されていない色成分およびアルファ成分の配列
      offset - 色成分およびアルファ成分の取得を開始する、componentsのインデックス
      pixel - 色成分およびアルファ成分の配列を表すObject
      戻り値:
      色成分およびアルファ成分の配列を表すObject
      例外:
      ClassCastException - pixeltransferType型のプリミティブ配列でない場合
      ArrayIndexOutOfBoundsException - pixelがこのColorModelのピクセル値を保持するのに十分な大きさでない場合、あるいはcomponents配列が、offsetを開始点にして、すべての色成分およびアルファ成分を保持するのに十分な大きさでない場合
      UnsupportedOperationException - transferTypeがサポートされている転送型でない場合
      関連項目:
    • createCompatibleWritableRaster

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

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

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

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

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

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

      public BufferedImage convertToIntDiscrete(Raster raster, boolean forceARGB)
      ソースRasterのインデックスを展開して計算したピクセル・データ付きのRasterを持つ、TYPE_INT_ARGBまたはTYPE_INT_RGBの新しいBufferedImageを、このColorModelの色成分とアルファ成分の配列を使って返します。 ソースRasterの各インデックス値の下位nビット(前述のクラスの記述で指定)だけが、返されるイメージの色やアルファの値の計算に使用されます。 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
      導入されたバージョン:
      1.3
    • isValid

      public boolean isValid()
      すべてのピクセルが有効かどうかを返します。
      戻り値:
      すべてのpixelが有効な場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.3
    • getValidPixels

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

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

      public boolean equals(Object obj)
      指定されたObjectIndexColorModelのインスタンスであるかどうかをテストし、それがこのIndexColorModelと等しいかどうかを判定します。
      オーバーライド:
      equals、クラス: ColorModel
      パラメータ:
      obj - 等しいかどうかが判定されるObject
      戻り値:
      指定されたObjectがこのIndexColorModelと等しい場合true; それ以外の場合はfalse
      関連項目:
    • hashCode

      public int hashCode()
      IndexColorModelのハッシュ・コードを返します。
      オーバーライド:
      クラスColorModelhashCode
      戻り値:
      IndexColorModelのハッシュ・コード
      関連項目: