Java プラットフォーム 1.2

java.awt
クラス AlphaComposite

java.lang.Object
  |
  +--java.awt.AlphaComposite

public final class AlphaComposite
extends Object
implements Composite

この 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*Fd
Fs と 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
 

フィールドの詳細

CLEAR

public static final int CLEAR
Porter-Duff Clear 規則です。デスティネーションの色およびアルファの両方がクリアされます。ソースとデスティネーションのどちらも入力として使用されません。

Fs = 0 および Fd = 0 の場合、次のようになります。

 	Cd = 0
 	Ad = 0

SRC

public static final int SRC
Porter-Duff Source 規則です。ソースがデスティネーションにコピーされます。デスティネーションは入力として使用されません。

Fs = 1 および Fd = 0 の場合、次のようになります。

 	Cd = Cs
 	Ad = As

SRC_OVER

public static final int SRC_OVER
Porter-Duff Source Over Destination 規則です。ソースはデスティネーションの上に重ね合わせられます。

Fs = 1 および Fd = (1-As) の場合、次のようになります。

 	Cd = Cs + Cd*(1-As)
 	Ad = As + Ad*(1-As)

DST_OVER

public static final int DST_OVER
Porter-Duff Destination Over Source 規則です。デスティネーションはソースの上に重ね合わせられ、この結果生成された色によりデスティネーションが置き換えられます。

Fs = (1-Ad) および Fd = 1 の場合、次のようになります。

 	Cd = Cs*(1-Ad) + Cd
 	Ad = As*(1-Ad) + Ad

SRC_IN

public static final int SRC_IN
Porter-Duff Source In Destination 規則です。ソースのデスティネーション内部にある部分によりデスティネーションが置き換えられます。

Fs = Ad および Fd = 0 の場合、次のようになります。

 	Cd = Cs*Ad
 	Ad = As*Ad

DST_IN

public static final int DST_IN
Porter-Duff Destination In Source 規則です。デスティネーションのソースの内部にある部分によりデスティネーションが置き換えられます。

Fs = 0 および Fd = As の場合、次のようになります。

 	Cd = Cd*As
 	Ad = Ad*As

SRC_OUT

public static final int SRC_OUT
Porter-Duff Source Held Out By Destination 規則です。ソースのデスティネーションの外にある部分によりデスティネーションが置き換えられます。

Fs = (1-Ad) および Fd = 0 の場合、次のようになります。

 	Cd = Cs*(1-Ad)
 	Ad = As*(1-Ad)

DST_OUT

public static final int DST_OUT
Porter-Duff Destination Held Out By Source 規則です。デスティネーションのソースの外にある部分によりデスティネーションが置き換えられます。

Fs = 0 および Fd = (1-As) の場合、次のようになります。

 	Cd = Cd*(1-As)
 	Ad = Ad*(1-As)

Clear

public static final AlphaComposite Clear
1.0f のアルファを持つ、不透明の CLEAR 規則を実装する AlphaComposite オブジェクトです。
関連項目:
CLEAR

Src

public static final AlphaComposite Src
1.0f のアルファを持つ、不透明の SRC 規則を実装する AlphaComposite オブジェクトです。
関連項目:
SRC

SrcOver

public static final AlphaComposite SrcOver
1.0f のアルファを持つ、不透明の SRC_OVER 規則を実装する AlphaComposite オブジェクトです。
関連項目:
SRC_OVER

DstOver

public static final AlphaComposite DstOver
1.0f のアルファを持つ、不透明の DST_OVER 規則を実装する AlphaComposite オブジェクトです。
関連項目:
DST_OVER

SrcIn

public static final AlphaComposite SrcIn
1.0f のアルファを持つ、不透明の SRC_IN 規則を実装する AlphaComposite オブジェクトです。
関連項目:
SRC_IN

DstIn

public static final AlphaComposite DstIn
1.0f のアルファを持つ、不透明の DST_IN 規則を実装する AlphaComposite オブジェクトです。
関連項目:
DST_IN

SrcOut

public static final AlphaComposite SrcOut
1.0f のアルファを持つ、不透明の SRC_OUT 規則を実装する AlphaComposite オブジェクトです。
関連項目:
SRC_OUT

DstOut

public static final AlphaComposite DstOut
1.0f のアルファを持つ、不透明の DST_OUT 規則を実装する AlphaComposite オブジェクトです。
関連項目:
DST_OUT
メソッドの詳細

getInstance

public static AlphaComposite getInstance(int rule)
指定された規則を使って AlphaComposite オブジェクトを作成します。
パラメータ:
rule - 重ね合わせ処理規則

getInstance

public static AlphaComposite getInstance(int rule,
                                         float alpha)
指定された規則とソースのアルファに掛ける定数アルファを使って AlphaComposite オブジェクトを作成します。デスティネーションと重ね合わせられる前に、ソースは指定されたアルファで乗算されます。
パラメータ:
rule - 重ね合わせ処理規則
alpha - ソースのアルファに掛ける定数アルファ。alpha は、範囲 [0.0, 1.0] (両端を含む) の浮動小数点数値でなければなりません

createContext

public CompositeContext createContext(ColorModel srcColorModel,
                                      ColorModel dstColorModel,
                                      RenderingHints hints)
合成オペレーションのコンテキストを作成します。コンテキストには、合成オペレーションを実行するために使用される状態が設定されます。
定義:
インタフェース Composite 内の createContext
パラメータ:
srcColorModel - ソースの ColorModel
dstColorModel - デスティネーションの ColorModel
戻り値:
合成オペレーションを実行するために使用される CompositeContext オブジェクト

getAlpha

public float getAlpha()
この AlphaComposiste のアルファ値を返します。この AlphaComposiste がアルファ値を持たない場合は、1.0 が返されます。
戻り値:
この AlphaComposite のアルファ値

getRule

public int getRule()
この AlphaComposite の重ね合わせ処理規則を返します。
戻り値:
この AlphaComposite の重ね合わせ処理規則

hashCode

public int hashCode()
この重ね合わせ処理のハッシュコードを返します。
戻り値:
この重ね合わせ処理のハッシュコード
オーバーライド:
クラス Object 内の hashCode

equals

public boolean equals(Object obj)
指定された Object がこの AlphaComposite オブジェクトと等しいかどうかを判定します。
パラメータ:
obj - 等しいかどうかを判定する Object
戻り値:
obj がこの AlphaComposite と等しい場合は true、そうでない場合は false
オーバーライド:
クラス Object 内の equals

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.