|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.AlphaComposite
この AlphaComposite
クラスは、グラフィックスおよびイメージの混合および透明化効果を実現するために、ソースのピクセルとデスティネーションのピクセルを結合するための基本的なアルファ重ね合わせ処理規則を実装します。このクラスによって実装される規則は、T. Porter および T. Duff 共著の『Compositing Digital Images』(SIGGRAPH 84, 253〜259) に記述されている Porter-Duff 規則のサブセットです。
入力がアルファチャネルを持たない場合は、すべてのピクセルがアルファ値 1.0 (完全に不透明) と見なされます。また、ソースのピクセルのアルファ値に定数アルファ値を掛けるように指定することもできます。
規則の説明では、次の省略名が使用されます。
合成オペレーションによって生成される色およびアルファ成分は次のように計算されます。
Cd = Cs*Fs + Cd*Fd Ad = As*Fs + Ad*FdFs と Fd はそれぞれの規則によって指定されます。上記の等式は、ソースとデスティネーションのピクセルがどちらも、あらかじめアルファ成分が乗算された色成分を持つことを前提としています。また、次の重ね合わせ処理規則の定義で表される等式は、あらかじめ乗算されたアルファを前提としています。
パフォーマンス上の理由のため、AlphaComposite
クラスによって作成された CompositeContext
オブジェクトの重ね合わせメソッドに渡される Raster は、乗算実施済みのデータを持つことが望まれます。ただし、ソースまたはデスティネーションのどちらかの Raster が未乗算である場合、合成オペレーションの前とあとに適切な変換が実行されます。
合成オペレーションの結果のアルファは、デスティネーションにアルファチャネルがある場合はデスティネーションに格納されます。そうでない場合、結果の色はデスティネーションに格納される前に結果のアルファで除算され、アルファは破棄されます。アルファ値が 0.0 であれば、カラー値は 0.0 に設定されます。
Composite
,
CompositeContext
フィールドの概要 | |
static AlphaComposite |
Clear
1.0f のアルファを持つ、不透明の CLEAR 規則を実装する AlphaComposite オブジェクトです。 |
static int |
CLEAR
Porter-Duff Clear 規則です。 |
static int |
DST_IN
Porter-Duff Destination In Source 規則です。 |
static int |
DST_OUT
Porter-Duff Destination Held Out By Source 規則です。 |
static int |
DST_OVER
Porter-Duff Destination Over Source 規則です。 |
static AlphaComposite |
DstIn
1.0f のアルファを持つ、不透明の DST_IN 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
DstOut
1.0f のアルファを持つ、不透明の DST_OUT 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
DstOver
1.0f のアルファを持つ、不透明の DST_OVER 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
Src
1.0f のアルファを持つ、不透明の SRC 規則を実装する AlphaComposite オブジェクトです。 |
static int |
SRC
Porter-Duff Source 規則です。 |
static int |
SRC_IN
Porter-Duff Source In Destination 規則です。 |
static int |
SRC_OUT
Porter-Duff Source Held Out By Destination 規則です。 |
static int |
SRC_OVER
Porter-Duff Source Over Destination 規則です。 |
static AlphaComposite |
SrcIn
1.0f のアルファを持つ、不透明の SRC_IN 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
SrcOut
1.0f のアルファを持つ、不透明の SRC_OUT 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
SrcOver
1.0f のアルファを持つ、不透明の SRC_OVER 規則を実装する AlphaComposite オブジェクトです。 |
メソッドの概要 | |
CompositeContext |
createContext(ColorModel srcColorModel,
ColorModel dstColorModel,
RenderingHints hints)
合成オペレーションのコンテキストを作成します。 |
boolean |
equals(Object obj)
指定された Object がこの AlphaComposite オブジェクトと等しいかどうかを判定します。 |
float |
getAlpha()
この AlphaComposiste のアルファ値を返します。 |
static AlphaComposite |
getInstance(int rule)
指定された規則を使って AlphaComposite オブジェクトを作成します。 |
static AlphaComposite |
getInstance(int rule,
float alpha)
指定された規則とソースのアルファに掛ける定数アルファを使って AlphaComposite オブジェクトを作成します。 |
int |
getRule()
この AlphaComposite の重ね合わせ処理規則を返します。 |
int |
hashCode()
この重ね合わせ処理のハッシュコードを返します。 |
クラス java.lang.Object から継承したメソッド |
clone,
finalize,
getClass,
notify,
notifyAll,
toString,
wait,
wait,
wait |
フィールドの詳細 |
public static final int CLEAR
Fs = 0 および Fd = 0 の場合、次のようになります。
Cd = 0 Ad = 0
public static final int SRC
Fs = 1 および Fd = 0 の場合、次のようになります。
Cd = Cs Ad = As
public static final int SRC_OVER
Fs = 1 および Fd = (1-As) の場合、次のようになります。
Cd = Cs + Cd*(1-As) Ad = As + Ad*(1-As)
public static final int DST_OVER
Fs = (1-Ad) および Fd = 1 の場合、次のようになります。
Cd = Cs*(1-Ad) + Cd Ad = As*(1-Ad) + Ad
public static final int SRC_IN
Fs = Ad および Fd = 0 の場合、次のようになります。
Cd = Cs*Ad Ad = As*Ad
public static final int DST_IN
Fs = 0 および Fd = As の場合、次のようになります。
Cd = Cd*As Ad = Ad*As
public static final int SRC_OUT
Fs = (1-Ad) および Fd = 0 の場合、次のようになります。
Cd = Cs*(1-Ad) Ad = As*(1-Ad)
public static final int DST_OUT
Fs = 0 および Fd = (1-As) の場合、次のようになります。
Cd = Cd*(1-As) Ad = Ad*(1-As)
public static final AlphaComposite Clear
AlphaComposite
オブジェクトです。CLEAR
public static final AlphaComposite Src
AlphaComposite
オブジェクトです。SRC
public static final AlphaComposite SrcOver
AlphaComposite
オブジェクトです。SRC_OVER
public static final AlphaComposite DstOver
AlphaComposite
オブジェクトです。DST_OVER
public static final AlphaComposite SrcIn
AlphaComposite
オブジェクトです。SRC_IN
public static final AlphaComposite DstIn
AlphaComposite
オブジェクトです。DST_IN
public static final AlphaComposite SrcOut
AlphaComposite
オブジェクトです。SRC_OUT
public static final AlphaComposite DstOut
AlphaComposite
オブジェクトです。DST_OUT
メソッドの詳細 |
public static AlphaComposite getInstance(int rule)
AlphaComposite
オブジェクトを作成します。rule
- 重ね合わせ処理規則public static AlphaComposite getInstance(int rule, float alpha)
AlphaComposite
オブジェクトを作成します。デスティネーションと重ね合わせられる前に、ソースは指定されたアルファで乗算されます。rule
- 重ね合わせ処理規則alpha
- ソースのアルファに掛ける定数アルファ。alpha
は、範囲 [0.0, 1.0] (両端を含む) の浮動小数点数値でなければなりませんpublic CompositeContext createContext(ColorModel srcColorModel, ColorModel dstColorModel, RenderingHints hints)
srcColorModel
- ソースの ColorModel
dstColorModel
- デスティネーションの ColorModel
CompositeContext
オブジェクトpublic float getAlpha()
AlphaComposiste
のアルファ値を返します。この AlphaComposiste
がアルファ値を持たない場合は、1.0 が返されます。AlphaComposite
のアルファ値public int getRule()
AlphaComposite
の重ね合わせ処理規則を返します。AlphaComposite
の重ね合わせ処理規則public int hashCode()
public boolean equals(Object obj)
Object
がこの AlphaComposite
オブジェクトと等しいかどうかを判定します。obj
- 等しいかどうかを判定する Object
obj
がこの AlphaComposite
と等しい場合は true
、そうでない場合は false
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |