次の方法で共有


テーブル転送効果

テーブル転送効果を使用して、指定した値のリストを補間して作成された転送関数を使用して、画像の色の強度をマップします。

この効果の CLSID はCLSID_D2D1TableTransfer。

画像の例

次の画像は、テーブル転送効果の入力と出力を示しています。

以前は
効果の前に画像を します。
変換後にイメージを します。
ComPtr<ID2D1Effect> tableTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1TableTransfer, &tableTransferEffect);

tableTransferEffect->SetInput(0, bitmap);

float table[2] = {0.75f, 1.0f};
tableTransferEffect->SetValue(D2D1_TABLETRANSFER_PROP_BLUE_TABLE, table);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(tableTransferEffect.Get());
m_d2dContext->EndDraw();

伝達関数は、入力 V=(V0,V1,V2,V3, V? ,VN) のリストに基づいています。N は要素の数 - 1 です。

入力ピクセルの強度は C として表されます。出力画素強度は、C式で算出することができる。

値 C の場合は、k/N = C < (k+1)/N のように、値 k を選択します。

出力 C は次の式を使用して計算されます: C' = V? + (C - k/N) * N * (V???1?- V?)

この効果は、直線的で事前に乗算されたアルファ画像に対して機能します。 この効果は、事前乗算されたアルファ ビットマップを出力します。

テーブルプロパティが [0.0, 0.25, 1.0]に設定されている場合、テーブル転送関数のグラフは次のようになります。

テーブル転送関数のピクセル強度グラフを します。

Effect プロパティ

手記

テーブル転送プロパティのすべてのチャネルの値は単位なしであり、最小値は 0.0 と最大 1.0 です。

表示名とインデックス列挙 型と既定値 形容
RedTable
D2D1_TABLETRANSFER_PROP_RED_TABLE
FLOAT[]
{0.0f、1.0f}
Red チャネルの転送関数の定義に使用される値の一覧。
RedDisable
D2D1_TABLETRANSFER_PROP_RED_DISABLE
BOOL

これを TRUE に設定すると、効果は転送関数を Red チャネルに適用しません。 これを FALSE に設定すると、RedTableTransfer 関数が Red チャネルに適用されます。
GreenTable
D2D1_TABLETRANSFER_PROP_GREEN_TABLE
FLOAT[]
{0.0f、1.0f}
Green チャネルの転送関数の定義に使用される値の一覧。
GreenDisable
D2D1_TABLETRANSFER_PROP_GREEN_DISABLE
BOOL

これを TRUE に設定した場合、効果は伝達関数を Green チャネルに適用しません。 これを FALSE に設定すると、GreenTableTransfer 関数が Green チャネルに適用されます。
BlueTable
D2D1_TABLETRANSFER_PROP_BLUE_TABLE
FLOAT[]
{0.0f、1.0f}
Blue チャネルの転送関数を定義するために使用される値の一覧。
BlueDisable
D2D1_TABLETRANSFER_PROP_BLUE_DISABLE
BOOL

これを TRUE に設定すると、効果は転送関数を Blue チャネルに適用しません。 これを FALSE に設定すると、BlueTableTransfer 関数が Blue チャネルに適用されます。
AlphaTable
D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE
FLOAT[]
{0.0f、1.0f}
アルファ チャネルの転送関数を定義するために使用される値の一覧。
AlphaDisable
D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE
BOOL

これを TRUE に設定すると、効果はアルファ チャネルに伝達関数を適用しません。 これを FALSE に設定すると、AlphaTableTransfer 関数がアルファ チャネルに適用されます。
ClampOutput
D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT
BOOL

効果がグラフの次の効果に値を渡す前に、効果が色の値を 0 から 1 の間にクランプするかどうかを指定します。 効果は、アルファをプリ乗算する前に値をクランプします。
これを TRUE に設定すると、効果によって値がクランプされます。 これを FALSE に設定すると、効果は色の値をクランプしませんが、精度が十分に高くない場合は、他の効果と出力サーフェスによって値がクランプされる可能性があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ]
サポートされている最小サーバー Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ]
ヘッダ d2d1effects.h
図書館 d2d1.lib、dxguid.lib

ID2D1Effect