|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 AlphaComposite |
Dst
1.0f のアルファを持つ、不透明の DST 規則を実装する AlphaComposite オブジェクトです。 |
static int |
DST
Porter-Duff Destination 規則です。 |
static int |
DST_ATOP
Porter-Duff Destination Atop Source 規則です。 |
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 |
DstAtop
1.0f のアルファを持つ、不透明の DST_ATOP 規則を実装する AlphaComposite オブジェクトです。 |
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_ATOP
Porter-Duff Source Atop Destination 規則です。 |
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 |
SrcAtop
1.0f のアルファを持つ、不透明の SRC_ATOP 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
SrcIn
1.0f のアルファを持つ、不透明の SRC_IN 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
SrcOut
1.0f のアルファを持つ、不透明の SRC_OUT 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
SrcOver
1.0f のアルファを持つ、不透明の SRC_OVER 規則を実装する AlphaComposite オブジェクトです。 |
static AlphaComposite |
Xor
1.0f のアルファを持つ、不透明の XOR 規則を実装する AlphaComposite オブジェクトです。 |
static int |
XOR
Porter-Duff Source Xor Destination 規則です。 |
メソッドの概要 | |
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 DST
Fs = 0、Fd = 1 の場合、次のようになります。
Cd = Cd Ad = Ad
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 int SRC_ATOP
Fs = Ad、Fd = (1-As) の場合、以下のようになります。
Cd = Cs*Ad + Cd*(1-As) Ad = As*Ad + Ad*(1-As) = Ad
public static final int DST_ATOP
Fs = (1-Ad)、Fd = As の場合、以下のようになります。
Cd = Cs*(1-Ad) + Cd*As Ad = As*(1-Ad) + Ad*As = As
public static final int XOR
Fs = (1-Ad)、Fd = (1-As) の場合、以下のようになります。
Cd = Cs*(1-Ad) + Cd*(1-As) Ad = As*(1-Ad) + Ad*(1-As)
public static final AlphaComposite Clear
AlphaComposite
オブジェクトです。
CLEAR
public static final AlphaComposite Src
AlphaComposite
オブジェクトです。
SRC
public static final AlphaComposite Dst
AlphaComposite
オブジェクトです。
DST
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 final AlphaComposite SrcAtop
AlphaComposite
オブジェクトです。
SRC_ATOP
public static final AlphaComposite DstAtop
AlphaComposite
オブジェクトです。
DST_ATOP
public static final AlphaComposite Xor
AlphaComposite
オブジェクトです。
XOR
メソッドの詳細 |
public static AlphaComposite getInstance(int rule)
AlphaComposite
オブジェクトを生成します。
rule
- 合成規則
IllegalArgumentException
- rule
が、CLEAR
、SRC
、DST
、SRC_OVER
、DST_OVER
、SRC_IN
、DST_IN
、SRC_OUT
、DST_OUT
、SRC_ATOP
、DST_ATOP
、または XOR
のどれでもない場合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)
Composite
内の createContext
srcColorModel
- 転送元の ColorModel
dstColorModel
- 転送先の ColorModel
hints
- コンテキストオブジェクトが描画の選択肢を選択するときに使用するヒント
CompositeContext
オブジェクトpublic float getAlpha()
AlphaComposiste
のアルファ値を返します。この AlphaComposiste
がアルファ値を持たない場合は、1.0 が返されます。
AlphaComposite
のアルファ値public int getRule()
AlphaComposite
の合成規則を返します。
AlphaComposite
の合成規則public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
がこの AlphaComposite
オブジェクトと等しいかどうかを判定します。
Object
内の equals
obj
- 等しいかどうかが判定される Object
obj
がこの AlphaComposite
と等しい場合は true
、そうでない場合は false
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.