テーブル転送効果
表の転送効果を使用して、指定した値の一覧の補間から作成された転送関数を使用して、画像の色の強度をマップします。
この効果の 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? ,V N) のリストに基づいています。N は要素の数 - 1 です。
入力ピクセルの強度は C として表されます。出力ピクセル強度Cは、式を用いた計算が可能である。
値 C の場合は、k/N = C < (k+1)/N のように値 k を選択します。
出力 C は、次の式を使用して計算されます: C' = V? + (C - k/N) * N * (V???1?- V?)
この効果は、直線的で前乗算されたアルファ画像に対して機能します。 この効果は、事前に乗算されたアルファ ビットマップを出力します。
table プロパティが に設定されている場合のテーブル転送関数のグラフを次に [0.0, 0.25, 1.0]
示します。
Effect プロパティ
Note
テーブル転送プロパティのすべてのチャネルの値はユニットレスであり、最小 0.0 と最大 1.0 です。
表示名とインデックス列挙 | 型と既定値 | 説明 |
---|---|---|
RedTable D2D1_TABLETRANSFER_PROP_RED_TABLE |
FLOAT[] {0.0f, 1.0f} |
Red チャネルの転送関数を定義するために使用される値の一覧。 |
RedDisable D2D1_TABLETRANSFER_PROP_RED_DISABLE |
BOOL FALSE |
これを TRUE に設定した場合、効果は Red チャネルに転送関数を適用しません。 これを FALSE に設定すると、RedTableTransfer 関数が Red チャネルに適用されます。 |
GreenTable D2D1_TABLETRANSFER_PROP_GREEN_TABLE |
FLOAT[] {0.0f, 1.0f} |
Green チャネルの転送関数を定義するために使用される値の一覧。 |
GreenDisable D2D1_TABLETRANSFER_PROP_GREEN_DISABLE |
BOOL FALSE |
これを TRUE に設定した場合、効果は伝達関数を Green チャネルに適用しません。 これを FALSE に設定すると、GreenTableTransfer 関数が Green チャネルに適用されます。 |
BlueTable D2D1_TABLETRANSFER_PROP_BLUE_TABLE |
FLOAT[] {0.0f, 1.0f} |
Blue チャネルの転送関数を定義するために使用される値の一覧。 |
BlueDisable D2D1_TABLETRANSFER_PROP_BLUE_DISABLE |
BOOL FALSE |
これを TRUE に設定した場合、効果は Blue チャネルに転送関数を適用しません。 これを FALSE に設定すると、BlueTableTransfer 関数が Blue チャネルに適用されます。 |
AlphaTable D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE |
FLOAT[] {0.0f, 1.0f} |
アルファ チャネルの転送関数を定義するために使用される値の一覧。 |
AlphaDisable D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE |
BOOL FALSE |
これを TRUE に設定した場合、効果はアルファ チャネルに転送関数を適用しません。 これを FALSE に設定すると、AlphaTableTransfer 関数が Alpha チャネルに適用されます。 |
ClampOutput D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT |
BOOL FALSE |
効果がグラフの次の効果に値を渡す前に、効果が色の値を 0 から 1 にクランプするかどうか。 効果は、アルファ をプリ乗算する前に値をクランプします。 これを TRUE に設定すると、効果によって値がクランプされます。 これを FALSE に設定した場合、効果は色の値を固定しませんが、他の効果と出力サーフェスでは、十分な精度が得られない場合は値がクランプされる可能性があります。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
サポートされている最小のサーバー | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
ヘッダー | d2d1effects.h |
ライブラリ | d2d1.lib、dxguid.lib |