クラス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です。

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

    クラスで宣言されたフィールド ColorModel

    pixel_bits, transferType
    修飾子と型
    フィールド
    説明
    protected int
    ピクセルの総ビット数です。
    protected int
    ピクセル値の表現に使用される配列のデータ型です。

    インタフェース透過性で宣言されたフィールド

    BITMASK, OPAQUE, TRANSLUCENT
    修飾子と型
    フィールド
    説明
    static final int
    完全に不透明(アルファ値が1.0)である、あるいは完全に透明(アルファ値が0.0)であることが保証されるイメージ・データを表現します。
    static final int
    完全に不透明であることが保証される(すべてのピクセルのアルファ値が1.0)イメージ・データを表現します。
    static final int
    任意のアルファ値(0.0 - 1.0、0.0と1.0を含む)を持っている、あるいは持つ可能性のあるイメージ・データを表現します。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    PackedColorModel(ColorSpace space, int bits, int[] colorMaskArray, int alphaMask, boolean isAlphaPremultiplied, int trans, int transferType)
    カラー・マスク配列からPackedColorModelを構築します。この配列は、各カラー・サンプル、およびアルファ・マスクが、intピクセル表現のどのビット群に格納されているかを指定します。
    PackedColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int trans, int transferType)
    指定したマスクからPackedColorModelを構築します。マスクは、アルファ、赤、緑、青の各カラー・サンプルが、intピクセル表現のどのビット群に格納されているかを指定します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
    boolean
    指定されたObjectPackedColorModelのインスタンスで、このPackedColorModelと等しいかどうかを判定します。
    イメージのアルファ・チャネルを表現するWritableRasterを、入力されたWritableRasterから抽出して返します。
    final int
    getMask(int index)
    指定されたカラー・サンプルやアルファ・サンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。
    final int[]
    ピクセル表現のどのビット群にカラー・サンプルとアルファ・サンプルが格納されているかを示すマスク配列を返します。
    int
    このPackedColorModelのハッシュ・コードを返します。
    boolean
    指定されたSampleModelがこのColorModelと互換性があるかどうかを調べます。

    クラスで宣言されたメソッド ColorModel

    coerceData, createCompatibleWritableRaster, getAlpha, getAlpha, getBlue, getBlue, getColorSpace, getComponents, getComponents, getComponentSize, getComponentSize, getDataElement, getDataElement, getDataElements, getDataElements, getDataElements, getGreen, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRed, getRed, getRGB, getRGB, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied, isCompatibleRaster, toString
    修飾子と型
    メソッド
    説明
    coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
    ラスター・データがisAlphaPremultiplied変数で指定された状態と一致するようにします。このとき、データはこのColorModelによって現在正しく記述されていると見なされます。
    このColorModelと互換性のあるデータ・レイアウト(SampleModel)を持つ、指定された幅と高さのWritableRasterを作成します。
    abstract int
    getAlpha(int pixel)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    int
    getAlpha(Object inData)
    指定されたピクセルのアルファ成分を、0 - 255の範囲でスケーリングして返します。
    abstract int
    getBlue(int pixel)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getBlue(Object inData)
    指定されたピクセルの青の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    このColorModelに関連付けられたColorSpaceを返します。
    int[]
    getComponents(int pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    int[]
    getComponents(Object pixel, int[] components, int offset)
    このColorModelでピクセルを指定して、標準化されていない色成分とアルファ成分の配列を返します。
    int[]
    色成分およびアルファ成分ごとのビット数の配列を返します。
    int
    getComponentSize(int componentIdx)
    指定された色成分およびアルファ成分のビット数を返します。
    int
    getDataElement(float[] normComponents, int normOffset)
    標準化された色成分およびアルファ成分の配列を指定して、このColorModelintとして表されるピクセル値を返します。
    int
    getDataElement(int[] components, int offset)
    標準化されていない色成分あるいはアルファ成分の配列を指定して、このColorModelintとして表現されるピクセル値を返します。
    getDataElements(float[] normComponents, int normOffset, Object obj)
    標準化された色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    getDataElements(int[] components, int offset, Object obj)
    標準化されていない色成分およびアルファ成分の配列を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    getDataElements(int rgb, Object pixel)
    デフォルトRGBカラー・モデルの整数型ピクセル表現を指定して、このColorModelのピクセルのデータ要素配列表現を返します。
    abstract int
    getGreen(int pixel)
    指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getGreen(Object inData)
    指定されたピクセルの緑の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    float[]
    getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
    非標準化成分配列を指定して、標準化形式ですべての色成分およびアルファ成分の配列を返します。
    float[]
    getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
    このColorModelの指定されたピクセルについて、標準化形式で色成分とアルファ成分の配列を返します。
    int
    このColorModelの色成分数を返します。
    int
    このColorModelの成分(アルファを含む)の数を返します。
    int
    このColorModelによって記述されるピクセルごとのビット数を返します。
    abstract int
    getRed(int pixel)
    指定されたピクセルの赤の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getRed(Object inData)
    指定されたピクセルの赤の色成分を、デフォルトのRGB ColorSpace、つまりsRGBの0 - 255の範囲でスケーリングして返します。
    int
    getRGB(int pixel)
    ピクセルの色成分とアルファ成分を、デフォルトのRGBカラー・モデル形式で返します。
    int
    getRGB(Object inData)
    指定されたピクセルの色成分およびアルファ成分をデフォルトRGBカラー・モデル形式で返します。
    static ColorModel
    プログラマのために、AWTイメージ・インタフェースの多くのメソッドで使用される整数型RGB値のデフォルト形式を記述するDirectColorModelを返します。
    final int
    このColorModelの転送型を返します。
    int
    透明度を返します。
    int[]
    getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
    標準化成分配列を指定して、非標準化形式ですべての色成分およびアルファ成分の配列を返します。
    final boolean
    アルファがこのColorModelでサポートされているかどうかを返します。
    final boolean
    このColorModelで変換されるピクセル値でアルファがあらかじめ乗算されているかどうかを返します。
    boolean
    rasterがこのColorModelと互換性がある場合にはtrueを返し、そうでない場合にはfalseを返します。
    このColorModel オブジェクトの内容を表すStringを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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は、ピクセル値で色とアルファのサンプルを解釈する方法を指定します。 booleantrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 透明度transは、このカラー・モデルで表現できるアルファ値を指定します。 転送タイプは、ピクセル値を表現するために使うプリミティブ配列の型です。
      パラメータ:
      space - 指定されたColorSpace
      bits - ピクセル値のビット数
      colorMaskArray - ピクセルのビット値を表すマスクを指定する配列。ピクセル値は色成分を表す
      alphaMask - ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表す
      isAlphaPremultiplied - カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されている場合はtrue、そうでない場合はfalse
      trans - このカラー・モデルで表すことができるアルファ値を指定する
      transferType - ピクセル値を表すのに使用される配列の型
      スロー:
      IllegalArgumentException - bitsが1より小さいか32より大きい場合
    • PackedColorModel

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

    • getMask

      public final int getMask(int index)
      指定されたカラー・サンプルやアルファ・サンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。 カラー・サンプルでは、indexはカラー・スペースのカラー・サンプル名の配置に対応します。 したがって、CMYK ColorSpaceでは、indexが0であればCyanに、indexが1であればMagentaに対応します。 アルファがある場合、アルファindexは次のようになります。
           alphaIndex = numComponents() - 1;
      
      パラメータ:
      index - 指定されたカラー・サンプルまたはアルファ・サンプル
      戻り値:
      intピクセル表現のどのビットがindexが指定するカラー・サンプルまたはアルファ・サンプルを保持しているかを示すマスク。
      スロー:
      ArrayIndexOutOfBoundsException - indexがこのPackedColorModelの成分数マイナス1より大きいか、indexが0より小さい場合
    • getMasks

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

      public SampleModel createCompatibleSampleModel(int w, int h)
      このColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。
      オーバーライド:
      createCompatibleSampleModel、クラスColorModel
      パラメータ:
      w - 記述されたイメージ・データの領域の幅(ピクセル単位)
      h - 記述されたイメージ・データの領域の高さ(ピクセル単位)
      戻り値:
      新しく生成されたSampleModel
      スロー:
      IllegalArgumentException - wまたはhが0以下である場合
      関連項目:
    • isCompatibleSampleModel

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

      public WritableRaster getAlphaRaster(WritableRaster raster)
      イメージのアルファ・チャネルを表現するWritableRasterを、入力されたWritableRasterから抽出して返します。 このメソッドは、このColorModelに関連したWritableRasterオブジェクトにアルファ・バンドがあれば、そのアルファ・バンドをイメージ・データの最終バンドとして格納していると見なします。 このColorModelに関連した空間アルファ・チャネルがほかにない場合は、nullを返します。 このメソッドは新しいWritableRasterを作成しますが、データ配列は共有することになります。
      オーバーライド:
      getAlphaRaster、クラスColorModel
      パラメータ:
      raster - イメージが格納されているWritableRaster
      戻り値:
      rasterに格納されたイメージのアルファ・チャンネルを表すWritableRaster
    • equals

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

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