|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.image.ColorModel | +--java.awt.image.ComponentColorModel
これは ColorModel
クラスの 1 つで、ピクセル値を扱います。このピクセル値は、色情報およびアルファ情報を個別のサンプルとして表現し、各サンプルを個別のデータ要素に格納します。このクラスは、任意の ColorSpace
とともに使用できます。ピクセル値に含むカラーサンプルの数は、ColorSpace
にある色成分の数と等しくなければなりません。アルファサンプルは、単一でもかまいません。
transferType
型のプリミティブ配列ピクセル表現を使うメソッドの場合、配列の長さはカラーサンプルおよびアルファサンプルの数と等しくなります。配列にはカラーサンプルが最初に格納され、アルファサンプルがあれば、そのあとに格納されます。カラーサンプルの順序は、ColorSpace
で指定します。通常、この順序はカラースペースタイプの名前を反映します。たとえば、TYPE_RGB
のインデックス 0 は赤、インデックス 1 は緑、そしてインデックス 2 は青になります。サポートされる転送タイプは、DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、および DataBuffer.TYPE_INT
です。
表示、あるいはイメージ処理のためにピクセル値を色成分またはアルファ成分に変換する処理は、サンプルと成分の 1 対 1 対応になります。ピクセル値のカラーサンプルまたはアルファサンプルのビット数は、ComponentColorModel
コンストラクタに渡された、対応する色成分またはアルファ成分のビット数と異なる場合があります。このクラスは、サンプル値の最下位 n ビットが成分の値を格納していると見なします。このとき n は、コンストラクタに渡された成分の有効ビットの数です。また、より上位にあるサンプル値の任意のビットについては、すべて 0 であると見なされます。
ComponentColorModel
で使う成分の数が 1 (つまり、単一の色成分のみで、アルファ成分がない) 以外の場合は、単一の int ピクセル表示を使うメソッドは IllegalArgumentException
をスローします。
ComponentColorModel
は、ComponentSampleModel
、BandedSampleModel
、または PixelInterleavedSampleModel
と組み合わせて、BufferedImage
の作成に使えます。
ColorModel
,
ColorSpace
,
ComponentSampleModel
,
BandedSampleModel
,
PixelInterleavedSampleModel
,
BufferedImage
クラス java.awt.image.ColorModel から継承したフィールド |
pixel_bits,
transferType |
コンストラクタの概要 | |
ComponentColorModel(ColorSpace colorSpace,
int[] bits,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
指定されたパラメータから、 ComponentColorModel を構築します。 |
メソッドの概要 | |
ColorModel |
coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
ラスタデータが、 isAlphaPremultiplied 変数で指定された状態と一致するようにし、このときデータがこの ColorModel で現在正しく記述されていると見なされます。 |
SampleModel |
createCompatibleSampleModel(int w,
int h)
指定された幅およびサイズで、この ColorModel と互換性のあるデータレイアウトを持つ SampleModel を作成します。 |
WritableRaster |
createCompatibleWritableRaster(int w,
int h)
指定された幅およびサイズで、この ColorModel と互換性のあるデータレイアウト (SampleModel ) を持つ WritableRaster を作成します。 |
boolean |
equals(Object obj)
このカラーモデルと別のカラーモデルとが等しいかどうかを比較します。 |
int |
getAlpha(int pixel)
指定されたピクセルのアルファ成分を、0 〜 255 の範囲でスケーリングして返します。 |
int |
getAlpha(Object inData)
指定されたピクセルのアルファ成分を 0 〜 255 の範囲でスケーリングして返します。 |
WritableRaster |
getAlphaRaster(WritableRaster raster)
イメージのアルファチャネルを表現する Raster を、入力された Raster から抽出して返します。 |
int |
getBlue(int pixel)
指定されたピクセルの青成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getBlue(Object inData)
指定されたピクセルの青成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
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 カラーモデルの int ピクセル表現を指定して、この ColorModel のピクセルデータ要素配列表現を返します。 |
int |
getGreen(int pixel)
指定されたピクセルの緑成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
int |
getGreen(Object inData)
指定されたピクセルの緑成分をデフォルトの RGB ColorSpace (sRGB) で 0 〜 255 の範囲でスケーリングして返します。 |
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 カラーモデル形式で、ピクセルの色成分またはアルファ成分を返します。 |
boolean |
isCompatibleRaster(Raster raster)
raster がこの ColorModel と互換性がある場合に true を返し、そうでない場合は false を返します。 |
boolean |
isCompatibleSampleModel(SampleModel sm)
指定された SampleModel がこの ColorModel と互換性があるかどうかを判定します。 |
クラス java.awt.image.ColorModel から継承したメソッド |
finalize,
getColorSpace,
getComponentSize,
getComponentSize,
getNormalizedComponents,
getNumColorComponents,
getNumComponents,
getPixelSize,
getRGBdefault,
getTransparency,
getUnnormalizedComponents,
hasAlpha,
isAlphaPremultiplied,
toString |
クラス java.lang.Object から継承したメソッド |
clone,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
public ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
ComponentColorModel
を構築します。色成分は、指定された ColorSpace
に入ります。bits
配列は、色成分、およびアルファ成分の有効ビット数を指定します。ピクセル値にアルファ情報がない場合、配列の長さは ColorSpace
にある成分数になります。また、アルファ情報がある場合は、成分数よりも 1 大きくなります。配列の長さが成分の数と一致しない場合は、IllegalArgumentException
がスローされます。hasAlpha
は、アルファ情報の有無を示します。hasAlpha
が true の場合、boolean 型の isAlphaPremultiplied
は、ピクセル値にあるカラーサンプルおよびアルファサンプルを評価する方法を指定します。boolean が true の場合は、カラーサンプルはアルファサンプルと乗算されたと見なされます。transparency
には、このカラーモデルで表現できるアルファ値を指定します。transferType
は、ピクセル値を表現するために使うプリミティブ配列の型です。bits
配列には、ピクセル値から変換されたあとの、色成分またはアルファ成分当たりの有効ビット数が格納されます。colorSpace
- カラーモデルに関連付けられた ColorSpace
bits
- 1 成分当たりの有効ビット数hasAlpha
- true の場合は、このカラーモデルはアルファをサポートするisAlphaPremultiplied
- true の場合は、アルファはあらかじめ乗算されているtransparency
- カラーモデルがどのアルファ値を表現できるかtransferType
- ピクセル値を表現するために使われるプリミティブ配列の型bits
配列の長さが成分数と一致しない場合ColorSpace
,
Transparency
メソッドの詳細 |
public int getRed(int pixel)
pixel
- 赤成分を取得するピクセルColorModel
に 2 つ以上の成分がある場合public int getGreen(int pixel)
pixel
- 緑成分を取得するピクセルColorModel
に 2 つ以上の成分がある場合public int getBlue(int pixel)
pixel
- 青成分を取得するピクセルColorModel
に 2 つ以上の成分がある場合public int getAlpha(int pixel)
pixel
- アルファ成分を取得するピクセルColorModel
に 2 つ以上の成分がある場合public int getRGB(int pixel)
pixel
- 色成分またはアルファ成分を取得するピクセルColorModel
に 2 つ以上の成分がある場合public int getRed(Object inData)
pixel
値は、オブジェクト参照として渡された transferType
型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、赤の値は 0 になります。inData
- 赤成分を取得するピクセル。transferType
型のデータ要素の配列で指定するinData
が transferType
型のプリミティブ配列でない場合inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合public int getGreen(Object inData)
ColorSpace
(sRGB) で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。pixel
値は、オブジェクト参照として渡された transferType
型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、緑の値は 0 になります。inData
- 緑成分を取得するピクセル。transferType
型のデータ要素の配列で指定するinData
が transferType
型のプリミティブ配列でない場合inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合public int getBlue(Object inData)
ColorSpace
(sRGB) で 0 〜 255 の範囲でスケーリングして返します。必要な場合は、色変換が行われます。pixel
値は、オブジェクト参照として渡された transferType
型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されている場合、このメソッドは値を返す前にアルファを除算します。アルファ値が 0 の場合、青の値は 0 になります。inData
- 青成分を取得するピクセル。transferType
型のデータ要素の配列で指定するinData
が transferType
型のプリミティブ配列でない場合inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合public int getAlpha(Object inData)
transferType
型のデータ要素からなる配列によって指定されます。inData
- アルファ成分を取得するピクセル。transferType
型のデータ要素の配列で指定するinData
が transferType
型のプリミティブ配列でない場合inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合public int getRGB(Object inData)
transferType
型のデータ要素からなる配列によって指定されます。戻り値は、あらかじめ乗算されていない値です。アルファがあらかじめ乗算されていた場合、このメソッドは色成分でアルファを除算します。アルファ値が 0 の場合、カラー値は 0 になります。inData
- 色成分またはアルファ成分を取得するピクセル。transferType
型のデータ要素の配列で指定するinData
が transferType
型のプリミティブ配列でない場合inData
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合ColorModel.getRGBdefault()
public Object getDataElements(int rgb, Object pixel)
ColorModel
のピクセルデータ要素配列表現を返します。その後この配列は、WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。pixel
パラメータが null である場合は、新しい配列が割り当てられます。rgb
- pixel
- ピクセルの int 表現pixel
が null でない場合に、transferType
型のプリミティブ配列でないときpixel
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public int[] getComponents(int pixel, int[] components, int offset)
ColorModel
のピクセルを指定して、非正規化された色成分またはアルファ成分の配列を返します。色成分やアルファ成分は、components
配列の offset
の位置から格納されます。これは、配列がこのメソッドによって割り当てられた場合でも同じです。pixel
- int で指定されるピクセル値components
- 非正規化された色成分またはアルファ成分を格納する int 配列。components
配列が null の場合は、新しい配列が割り当てられるoffset
- components
配列内のオフセットColorModel
に 2 つ以上の成分がある場合components
配列が null でない場合に、offset からのすべての色成分およびアルファ成分を保持するのに十分な大きさでないときpublic int[] getComponents(Object pixel, int[] components, int offset)
ColorModel
のピクセルを指定して、非正規化された色成分またはアルファ成分の配列を返します。pixel の値は、オブジェクト参照として渡された transferType
型のデータ要素による配列で指定されます。色成分やアルファ成分は、components
配列の offset
の位置から格納されます。これは、配列がこのメソッドによって割り当てられた場合でも同じです。pixel
- transferType
型のデータ要素の配列で指定されるピクセル値components
- 非正規化された色成分またはアルファ成分を格納する int 配列。components
配列が null の場合は、新しい配列が割り当てられるoffset
- components
配列内のオフセットcomponents
配列ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合pixel
が transferType
型のプリミティブ配列でない場合components
配列が null でない場合に、offset からのすべての色成分およびアルファ成分を保持するのに十分な大きさでないとき。あるいは、pixel
がこの ColorModel のピクセル値を保持するのに十分な大きさでない場合public int getDataElement(int[] components, int offset)
ColorModel
の int として表現されるピクセル値を返します。components
- 非正規化された色成分またはアルファ成分の配列offset
- components
配列内のオフセットColorModel
に 2 つ以上の成分がある場合public Object getDataElements(int[] components, int offset, Object obj)
ColorModel
のピクセルのデータ要素配列表現を返します。この配列は、WritableRaster
オブジェクトの setDataElements
メソッドに渡すことができます。components
- 非正規化された色成分またはアルファ成分の配列offset
- components
配列内の int オフセットobj
- ピクセルのデータ要素配列表現を格納するオブジェクト。obj
変数が null の場合は、新しい配列が割り当てられる。obj
が null でない場合は、transferType
型のプリミティブ配列でなければならない。obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合は、ArrayIndexOutOfBoundsException
がスローされるColorModel
のピクセルのデータ要素配列表現obj
が null ではなく、transferType
型のプリミティブ配列でない場合obj
がこの ColorModel
のピクセル値を保持するのに十分な大きさでない場合ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合WritableRaster.setDataElements(int, int, java.lang.Object)
,
SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)
public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
isAlphaPremultiplied
変数で指定された状態と一致するようにし、このときデータがこの ColorModel
で現在正しく記述されていると見なされます。カラーラスタデータをアルファによって乗算、または除算する場合がありますが、データが正しい状態にあれば、処理は行われません。データの強制変換が必要な場合、このメソッドはこの ColorModel
のインスタンスを、isAlphaPremultiplied
フラグを正しく設定して返します。ComponentColorModel
の転送タイプが、サポートされている転送タイプ (DataBuffer.TYPE_BYTE
、DataBuffer.TYPE_USHORT
、または DataBuffer.TYPE_INT
) でない場合public boolean isCompatibleRaster(Raster raster)
raster
がこの ColorModel
と互換性がある場合に true を返し、そうでない場合は false を返します。raster
- 互換性を判定する Raster
オブジェクトraster
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
public WritableRaster createCompatibleWritableRaster(int w, int h)
ColorModel
と互換性のあるデータレイアウト (SampleModel
) を持つ WritableRaster
を作成します。w
- 作成する WritableRaster
の幅h
- 作成する WritableRaster
の高さColorModel
と互換性のある WritableRaster
WritableRaster
,
SampleModel
public SampleModel createCompatibleSampleModel(int w, int h)
ColorModel
と互換性のあるデータレイアウトを持つ SampleModel
を作成します。w
- 作成する SampleModel
の幅h
- 作成する SampleModel
の高さColorModel
と互換性のある SampleModel
SampleModel
public boolean isCompatibleSampleModel(SampleModel sm)
SampleModel
がこの ColorModel
と互換性があるかどうかを判定します。sm
- 互換性を判定する SampleModel
SampleModel
がこの ColorModel
と互換性がある場合は true
、そうでない場合は false
SampleModel
public WritableRaster getAlphaRaster(WritableRaster raster)
Raster
を、入力された Raster
から抽出して返します。このメソッドは、この ColorModel
に関連付けられた Raster
オブジェクトにアルファバンドがあれば、そのアルファバンドをイメージデータの最終バンドとして格納していると見なします。この ColorModel
に関連付けられた空間アルファチャネルがほかにない場合は、null を返します。このメソッドは新しい Raster
を作成しますが、データ配列は共有することになります。raster
- アルファチャネルを抽出する WritableRaster
WritableRaster
public boolean equals(Object obj)
obj
- このカラーモデルと比較するオブジェクトtrue
、そうでない場合は false
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |