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

クラスPackedColorModel

java.lang.Object
java.awt.image.ColorModel
java.awt.image.PackedColorModel
すべての実装されたインタフェース:
Transparency
直系の既知のサブクラス:
DirectColorModel

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

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

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

PackedColorModelのサブクラスはX11 TrueColorビジュアルと類似したDirectColorModelです。

関連項目: