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ピクセル表現に適用されます。 次に、マスクと、カラー・サンプルとアルファ・サンプルの対応関係を示します。
getNumComponents - 1までのインデックスで識別される。
getNumColorComponentsは、カラー・サンプルを表す。
ColorSpaceが指定する。 通常はカラー・スペース・タイプの名前を反映する。たとえば、TYPE_RGBの場合、インデックス0は赤、インデックス1は緑、インデックス2は青に対応する。
表示または処理のためにピクセル値から色成分やアルファ成分に変換するときには、サンプルと成分は1対1の対応になります。 PackedColorModelは一般に、パックされたサンプルを定義するのにマスクを使うイメージ・データとともに使用します。 たとえば、PackedColorModelはSinglePixelPackedSampleModelと組み合わせて使用してBufferedImageを作成できます。 通常、SampleModelとColorModelが使うマスクは同じものです。 ただし、マスクが異なる場合のピクセル・データの色解釈は、ColorModelのマスクに従って行われます。
このクラスで使うピクセル値は常に単一のintとして表現できるので、単一のintピクセル表現はこのクラスのすべてのオブジェクトで有効です。 このため、この表現を使うメソッドは、無効なピクセル値が原因でIllegalArgumentExceptionをスローすることはありません。
PackedColorModelのサブクラスはX11 TrueColorビジュアルと類似したDirectColorModelです。
pixel_bits, transferTypeBITMASK, OPAQUE, TRANSLUCENT| コンストラクタ | 説明 |
|---|---|
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ピクセル表現のどのビット群に格納されているかを指定します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
SampleModel |
createCompatibleSampleModel(int w, int h) |
この
ColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。 |
boolean |
equals(Object obj) |
指定された
ObjectがPackedColorModelのインスタンスで、このPackedColorModelと等しいかどうかを判定します。 |
WritableRaster |
getAlphaRaster(WritableRaster raster) |
イメージのアルファ・チャネルを表現する
WritableRasterを、入力されたWritableRasterから抽出して返します。 |
int |
getMask(int index) |
指定されたカラー・サンプルやアルファ・サンプルが、ピクセル表現内のどのビット群に格納されているかを示すマスクを返します。
|
int[] |
getMasks() |
ピクセル表現のどのビット群にカラー・サンプルとアルファ・サンプルが格納されているかを示すマスク配列を返します。
|
boolean |
isCompatibleSampleModel(SampleModel sm) |
指定された
SampleModelがこのColorModelと互換性があるかどうかを調べます。 |
coerceData, createCompatibleWritableRaster, finalize, 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, hashCode, isAlphaPremultiplied, isCompatibleRaster, toStringpublic 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の場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 透明度transは、このカラー・モデルで表現できるアルファ値を指定します。 転送タイプは、ピクセル値を表現するために使うプリミティブ配列の型です。 space - 指定されたColorSpacebits - ピクセル値のビット数colorMaskArray - ピクセルのビット値を表すマスクを指定する配列。ピクセル値は色成分を表すalphaMask - ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied - カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されている場合はtrue、そうでない場合はfalsetrans - このカラー・モデルで表すことができるアルファ値を指定するtransferType - ピクセル値を表すのに使用される配列の型IllegalArgumentException - bitsが1より小さいか32より大きい場合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がピクセル値のカラー・サンプルとアルファ・サンプルの解釈方法を指定します。 booleanがtrueの場合は、カラー・サンプルはアルファ・サンプルと乗算されたと見なされます。 透明度transは、このカラー・モデルで表現できるアルファ値を指定します。 転送タイプは、ピクセル値を表現するために使うプリミティブ配列の型です。 space - 指定されたColorSpacebits - ピクセル値のビット数rmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は赤の色成分を表すgmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は緑の色成分を表すbmask - ピクセルのビット値を表すマスクを指定する。ピクセル値は青の色成分を表すamask - ピクセルのビット値を表すマスクを指定する。ピクセル値はアルファ成分を表すisAlphaPremultiplied - カラー・サンプルがアルファ・サンプルによってあらかじめ乗算されている場合はtrue、そうでない場合はfalsetrans - このカラー・モデルで表すことができるアルファ値を指定するtransferType - ピクセル値を表すのに使用される配列の型IllegalArgumentException - spaceがTYPE_RGB空間でない場合ColorSpacepublic 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より小さい場合public final int[] getMasks()
intピクセル表現のどのビット群に、カラー・サンプルまたはアルファ・サンプルが格納されているかを示すマスク配列。public SampleModel createCompatibleSampleModel(int w, int h)
ColorModelと互換性のあるデータ・レイアウトを持つ、指定された幅と高さのSampleModelを作成します。createCompatibleSampleModel、クラスColorModelw - 記述されたイメージ・データの領域の幅(ピクセル単位)h - 記述されたイメージ・データの領域の高さ(ピクセル単位)SampleModel。IllegalArgumentException - wまたはhが0以下である場合SampleModelpublic boolean isCompatibleSampleModel(SampleModel sm)
SampleModelがこのColorModelと互換性があるかどうかを調べます。 smがnullの場合、このメソッドはfalseを返します。 isCompatibleSampleModel、クラスColorModelsm - 指定されたSampleModel、またはnullSampleModelがこのColorModelと互換性がある場合はtrue、それ以外の場合はfalse。SampleModelpublic WritableRaster getAlphaRaster(WritableRaster raster)
WritableRasterを、入力されたWritableRasterから抽出して返します。 このメソッドは、このColorModelに関連したWritableRasterオブジェクトにアルファ・バンドがあれば、そのアルファ・バンドをイメージ・データの最終バンドとして格納していると見なします。 このColorModelに関連した空間アルファ・チャネルがほかにない場合は、nullを返します。 このメソッドは新しいWritableRasterを作成しますが、データ配列は共有することになります。 getAlphaRaster、クラスColorModelraster - イメージが格納されているWritableRasterrasterに格納されたイメージのアルファ・チャンネルを表すWritableRaster。public boolean equals(Object obj)
ObjectがPackedColorModelのインスタンスで、このPackedColorModelと等しいかどうかを判定します。equals、クラスColorModelobj - 等しいかどうかが判定されるObjectObjectがPackedColorModelのインスタンスで、このPackedColorModelに等しい場合はtrue、それ以外の場合はfalse。Object.hashCode()、HashMap バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。