|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.ColorModel | +--java.awt.image.PackedColorModel | +--java.awt.image.DirectColorModel
RGB の色とアルファの情報を個別のサンプルとして表し、1 つのピクセルのすべてのサンプルを int、short、または byte 型の数で 1 つにパックするピクセル値を扱う抽象 ColorModel クラスです。このクラスは、ColorSpace.TYPE_RGB 型の ColorSpace とだけ一緒に使うことができます。ピクセル値には、カラーサンプルが 3 つ必要であるほかに、アルファサンプルが 1 つ含まれる場合もあります。transferType の型のプリミティブ配列のピクセル表現を使うメソッドでは、配列長は常に 1 です。カラーサンプルとアルファサンプルは、ビットマスクで示されるビット単位で配列の単一の要素に格納されます。ビットマスクはそれぞれ隣接している必要がありますが、オーバーラップしてはいけません。同じマスクが、ほかのメソッドによって使用される単一の int ピクセル表現に適用されます。以下に、マスクと、カラーサンプルとアルファサンプルの対応関係を示します。マスクは、アルファがなければ 0 〜 2 までのインデックスで識別され、アルファがあれば 3 までのインデックスで識別されます。最初の 3 つのインデックスはカラーサンプルを参照します。つまり、インデックス 0 は赤に、インデックス 1 は緑に、インデックス 2 は青に対応します。アルファサンプルが存在する場合、インデックス 3 がそれに対応します。サポートされる転送タイプは、DataBuffer.TYPE_BYTE、DataBuffer.TYPE_USHORT、および DataBuffer.TYPE_INT です。
表示または加工目的でピクセル値から色成分やアルファ成分に変換する際には、サンプルから成分への 1 対 1 対応になります。DirectColorModel は通常、パックされたサンプルを定義するのにマスクを使うイメージデータとともに使用されます。たとえば、DirectColorModel は SinglePixelPackedSampleModel と組み合わせて使用して BufferedImage を作成できます。通常、SampleModel と ColorModel が使うマスクは同じものです。ただし、そうしたマスクが異なる場合は、ピクセルデータの色解釈は ColorModel のマスクに従って処理されます。
このクラスで使うピクセル値は常に単一の int で表せるため、単一の int によるピクセル表現がこのクラスのすべてのオブジェクトで有効です。このため、この表現を使うメソッドは、ピクセル値が無効なときにも IllegalArgumentException をスローしません。
この ColorModel は X11 のトゥルーカラーに類似しています。ColorModel.getRGBdefault メソッドが指定するデフォルトの RGB ColorModel は、次のパラメータを持つ DirectColorModel です。
Number of bits: 32 Red mask: 0x00ff0000 Green mask: 0x0000ff00 Blue mask: 0x000000ff Alpha mask: 0xff000000 Color space: sRGB isAlphaPremultiplied: False Transparency: Transparency.TRANSLUCENT transferType: DataBuffer.TYPE_INT
このクラスの多くのメソッドは、final です。この理由は、下層のネイティブなグラフィックスのコードがこのクラスの設計と操作に関する前提条件を課し、これらの前提条件がこのクラスで final になっているメソッドの実装に反映されているからです。ほかの理由でこのクラスをサブクラス化することはできますが、final なメソッドの動作をオーバーライドしたり、変更することはできません。
ColorModel
,
ColorSpace
,
SinglePixelPackedSampleModel
,
BufferedImage
,
ColorModel.getRGBdefault()
クラス java.awt.image.ColorModel から継承したフィールド |
pixel_bits,
transferType |
コンストラクタの概要 | |
DirectColorModel(ColorSpace space,
int bits,
int rmask,
int gmask,
int bmask,
int amask,
boolean isAlphaPremultiplied,
int transferType)
指定されたパラメータで DirectColorModel を構築します。 |
|
DirectColorModel(int bits,
int rmask,
int gmask,
int bmask)
指定されたマスクから、int ピクセル表現のどのビットが赤、緑、青のサンプルを保持するかを指定する DirectColorModel を構築します。 |
|
DirectColorModel(int bits,
int rmask,
int gmask,
int bmask,
int amask)
指定されたマスクから DirectColorModel を構築します。 |
メソッドの概要 | |
ColorModel |
coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
変数 isAlphaPremultiplied で指定されている状態に Raster データを強制的に一致させます。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
この ColorModel と互換性のあるデータレイアウト (SampleModel) を持つ WritableRaster を指定された幅と高さで作成します。 |
int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。 |
int |
getAlpha(Object inData)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。 |
int |
getAlphaMask()
int ピクセル表現のどのビットがアルファ成分を格納しているかを示すマスクを返します。 |
int |
getBlue(int pixel)
指定されたピクセルの青の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getBlue(Object inData)
指定されたピクセルの青の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getBlueMask()
int ピクセル表現のどのビットが青の色成分を保持しているかを示すマスクを返します。 |
int[] |
getComponents(int pixel,
int[] components,
int offset)
この ColorModel のピクセルが指定されると、非正規化された色成分とアルファ成分の配列を返します。 |
int[] |
getComponents(Object pixel,
int[] components,
int offset)
この ColorModel のピクセルが指定されると、非正規化された色成分とアルファ成分の配列を返します。 |
int |
getDataElement(int[] components,
int offset)
非正規化された色成分およびアルファ成分の配列が指定されると、ColorModel の中で int として表現されるピクセル値を返します。 |
Object |
getDataElements(int[] components,
int offset,
Object obj)
非正規化された色成分とアルファ成分の配列が指定されると、この ColorModel のピクセルのデータ要素配列表現を返します。 |
Object |
getDataElements(int rgb,
Object pixel)
デフォルトの RGB カラーモデルの整数ピクセル表現が指定されると、この ColorModel のピクセルのデータ要素配列表現を返します。 |
int |
getGreen(int pixel)
指定されたピクセルの緑の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getGreen(Object inData)
指定されたピクセルの緑の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getGreenMask()
int ピクセル表現のどのビットが緑の色成分を保持しているかを示すマスクを返します。 |
int |
getRed(int pixel)
指定されたピクセルの赤の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getRed(Object inData)
指定されたピクセルの赤の色成分を、デフォルトの RGB ColorSpace、つまり sRGB の 0 〜 255 の範囲でスケーリングして返します。 |
int |
getRedMask()
int ピクセル表現のどのビットが赤の色成分を保持しているかを示すマスクを返します。 |
int |
getRGB(int pixel)
ピクセルの色成分とアルファ成分を、デフォルトの RGB カラーモデル形式で返します。 |
int |
getRGB(Object inData)
指定されたピクセルの色成分やアルファ成分を、デフォルトの RGB カラーモデル形式で返します。 |
boolean |
isCompatibleRaster(Raster raster)
ラスタがこの ColorModel と互換性がある場合は true、そうでない場合は false を返します。 |
String |
toString()
この DirectColorModel を表す String を返します。 |
クラス java.awt.image.PackedColorModel から継承したメソッド |
createCompatibleSampleModel,
equals,
getAlphaRaster,
getMask,
getMasks,
isCompatibleSampleModel |
クラス java.awt.image.ColorModel から継承したメソッド |
finalize,
getColorSpace,
getComponentSize,
getComponentSize,
getNormalizedComponents,
getNumColorComponents,
getNumComponents,
getPixelSize,
getRGBdefault,
getTransparency,
getUnnormalizedComponents,
hasAlpha,
isAlphaPremultiplied |
クラス java.lang.Object から継承したメソッド |
clone,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
public DirectColorModel(int bits, int rmask, int gmask, int bmask)
public DirectColorModel(int bits, int rmask, int gmask, int bmask, int amask)
public DirectColorModel(ColorSpace space, int bits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)
メソッドの詳細 |
public final int getRedMask()
public final int getGreenMask()
public final int getBlueMask()
public final int getAlphaMask()
public final int getRed(int pixel)
public final int getGreen(int pixel)
public final int getBlue(int pixel)
public final int getAlpha(int pixel)
public final int getRGB(int pixel)
ColorModel.getRGBdefault()
public int getRed(Object inData)
public int getGreen(Object inData)
public int getBlue(Object inData)
public int getAlpha(Object inData)
public int getRGB(Object inData)
ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public final int[] getComponents(int pixel, int[] components, int offset)
public final int[] getComponents(Object pixel, int[] components, int offset)
public final WritableRaster createCompatibleWritableRaster(int w, int h)
WritableRaster
,
SampleModel
public int getDataElement(int[] components, int offset)
public Object getDataElements(int[] components, int offset, Object obj)
WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public final ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
public boolean isCompatibleRaster(Raster raster)
public String toString()
DirectColorModel
を表す String
を返します。DirectColorModel
を表す String
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |