Java プラットフォーム 1.2

java.awt.image
クラス PackedColorModel

java.lang.Object
  |
  +--java.awt.image.ColorModel
        |
        +--java.awt.image.PackedColorModel
直接の既知のサブクラス:
DirectColorModel

public abstract class PackedColorModel
extends ColorModel

色とアルファの情報を個別のサンプルとして表現し、単一ピクセルのすべてのサンプルを int、short、または byte 形式で 1 つにパックするピクセル値を扱う抽象 ColorModel クラスです。このクラスは、任意の ColorSpace とともに使用できます。ピクセル値内のカラーサンプルの数は、ColorSpace 内の色成分の数と同じでなければなりません。アルファサンプルは、 単一でもかまいません。transferType 型のプリミティブ配列のピクセル表現を使うメソッドでは、配列の長さは常に 1 です。カラーサンプルとアルファサンプルは、ビットマスクで示されるビット単位で配列内の単一要素に格納されます。ビットマスクはそれぞれ隣接している必要がありますが、オーバーラップすることはできません。同じマスクが、ほかのメソッドの使用する単一の int ピクセル表現に適用されます。次に、マスクと、カラーサンプルとアルファサンプルの対応関係を示します。マスクは、0 〜 getNumComponents() - 1 の範囲のインデックスで識別されます。最初の getNumColorComponents() インデックスはカラーサンプルを参照します。アルファサンプルが存在する場合は、最後のインデックスに対応します。色インデックスの順序は ColorSpace によって指定されます。通常は、カラースペースタイプの名前を反映します。たとえば TYPE_RGB では、インデックス 0 は赤に、インデックス 1 は緑に、インデックス 2 は青に対応します。サポートされる転送タイプは、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、および DataBuffer.TYPE_INT です。

表示またはイメージ処理のためにピクセル値から色成分やアルファ成分に変換するときには、サンプルと成分は 1 対 1 の対応になります。PackedColorModel は一般に、パックされたサンプルを定義するのにマスクを使うイメージデータとともに使用します。たとえば、PackedColorModel は SinglePixelPackedSampleModel と組み合わせて使用して BufferedImage を作成できます。通常、SampleModel と ColorModel が使うマスクは同じものです。ただし、マスクが異なる場合は、ピクセルデータの色解釈は ColorModel のマスクに従って処理されます。

このクラスで使うピクセル値は常に単一の int として表現できるため、単一の int によるピクセル表現がこのクラスのすべてのオブジェクトで有効です。このため、この表現を使うメソッドは、無効なピクセル値が原因で IllegalArgumentException をスローすることはありません。

PackedColorModel のサブクラスには、X11 トゥルーカラー表示に類似した DirectColorModel があります。

関連項目:
DirectColorModel, SinglePixelPackedSampleModel, BufferedImage

クラス java.awt.image.ColorModel から継承したフィールド
pixel_bits, transferType
 
コンストラクタの概要
PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
          カラーマスク配列から PackedColorModel を構築します。
PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
          指定されたマスクから PackedColorModel を構築します。
 
メソッドの概要
 SampleModel createCompatibleSampleModel(int w, int h)
          この ColorModel と互換性があるデータレイアウトを持つ SampleModel を、指定された幅と高さで作成します。
 boolean equals(Object obj)
          指定された ObjectPackedColorModel のインスタンスであり、この PackedColorModel と等しいかどうかを判定します。
 WritableRaster getAlphaRaster(WritableRaster raster)
          入力 Raster から抽出されたイメージのアルファチャネルを表現する Raster を返します。
 int getMask(int index)
          指定されたカラーサンプルやアルファサンプルが、int ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。
 int[] getMasks()
          int ピクセル表現のどのビット群にカラーサンプルとアルファサンプルが格納されているかを示すマスク配列を返します。
 boolean isCompatibleSampleModel(SampleModel sm)
          SampleModel がこの ColorModel と互換性があるかどうかを判定します。
 
クラス java.awt.image.ColorModel から継承したメソッド
coerceData, createCompatibleWritableRaster, finalize, getAlpha, getAlpha, getBlue, getBlue, getColorSpace, getComponents, getComponents, getComponentSize, getComponentSize, getDataElement, getDataElements, getDataElements, getGreen, getGreen, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRed, getRGB, getRGB, getRGBdefault, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied, isCompatibleRaster, toString
 
クラス java.lang.Object から継承したメソッド
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

PackedColorModel

public PackedColorModel(ColorSpace space,
                        int bits,
                        int[] colorMaskArray,
                        int alphaMask,
                        boolean isAlphaPremultiplied,
                        int trans,
                        int transferType)
カラーマスク配列から PackedColorModel を構築します。この配列は、各カラーサンプル、およびアルファマスクが、int ピクセル表現のどのビット群に格納されているかを指定します。色成分は、指定された ColorSpace に入ります。colorMaskArray の長さは、ColorSpace 内の成分数になります。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まらなければなりません。alphaMask が 0 の場合は、アルファはありません。アルファがある場合は、boolean 型の isAlphaPremultiplied がピクセル値のカラーサンプルとアルファサンプルの解釈方法を指定します。boolean 型が true の場合、カラーサンプルはアルファサンプルであらかじめ乗算されたと見なされます。透明度は、このカラーモデルで表現できるアルファ値を表します。転送の型は、ピクセル値を表現するために使うプリミティブ配列の型です。

PackedColorModel

public PackedColorModel(ColorSpace space,
                        int bits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask,
                        boolean isAlphaPremultiplied,
                        int trans,
                        int transferType)
指定されたマスクから PackedColorModel を構築します。このマスクは、アルファ、赤、緑、青のカラーサンプルが、int ピクセル表現のどのビット群に格納されているかを指定します。色成分は、指定された ColorSpace (型は ColorSpace.TYPE_RGB でなければならない) に入ります。各マスク内のすべてのビットは連続していて、int ピクセル表現の指定桁数の最下位ビットに収まらなければなりません。amask が 0 の場合は、アルファはありません。alpha がある場合は、boolean 型の isAlphaPremultiplied がピクセル値のカラーサンプルとアルファサンプルの解釈方法を指定します。boolean 型が true の場合、カラーサンプルはアルファサンプルであらかじめ乗算されたと見なされます。透明度は、このカラーモデルで表現できるアルファ値を表します。転送の型は、ピクセル値を表現するために使うプリミティブ配列の型です。
関連項目:
ColorSpace
メソッドの詳細

getMask

public final int getMask(int index)
指定されたカラーサンプルやアルファサンプルが、int ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。カラーサンプルでは、インデックスはカラースペースのカラーサンプル名の配置に対応します。このため、CMYK ColorSpace のインデックス 0 はシアンに、インデックス 1 はマゼンタに対応します。アルファがある場合、アルファインデックスは次のようになります。
      alphaIndex = numComponents() - 1;
 

getMasks

public final int[] getMasks()
int ピクセル表現のどのビット群にカラーサンプルとアルファサンプルが格納されているかを示すマスク配列を返します。

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w,
                                               int h)
この ColorModel と互換性があるデータレイアウトを持つ SampleModel を、指定された幅と高さで作成します。
オーバーライド:
クラス ColorModel 内の createCompatibleSampleModel
関連項目:
SampleModel

isCompatibleSampleModel

public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel がこの ColorModel と互換性があるかどうかを判定します。
オーバーライド:
クラス ColorModel 内の isCompatibleSampleModel
関連項目:
SampleModel

getAlphaRaster

public WritableRaster getAlphaRaster(WritableRaster raster)
入力 Raster から抽出されたイメージのアルファチャネルを表現する Raster を返します。このメソッドは、アルファバンドがあった場合に、この ColorModel に関連付けられている Raster によってイメージデータの最後のバンドとしてアルファバンドが格納されると見なします。この ColorModel に関連付けられている独立した空間アルファチャネルがない場合は null を返します。このメソッドは新しい Raster を作成しますが、データ配列については共有します。
オーバーライド:
クラス ColorModel 内の getAlphaRaster

equals

public boolean equals(Object obj)
指定された ObjectPackedColorModel のインスタンスであり、この PackedColorModel と等しいかどうかを判定します。
パラメータ:
obj - 等しいかどうかを判定する Object
戻り値:
指定された ObjectPackedColorModel のインスタンスであり、この PackedColorModel と等しい場合は true、そうでない場合は false
オーバーライド:
クラス ColorModel 内の equals

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.