ガウスぼかし効果
ガウスぼかし効果を使用して、入力画像全体に対するガウス関数に基づいてぼかしを作成します。
この効果を使用すると、光彩とドロップ シャドウを作成し、 合成 効果を使用して元のイメージに結果を適用できます。 ハイライトや影などのフィルターの写真処理に役立ちます。 アルファ チャネルがぼかされ、照明効果はアルファ チャネルを使用してサーフェス ジオメトリを高さマップとして決定するため、 反射照明 効果や 拡散光 効果などの照明効果への入力にこの効果の出力を使用できます。
この効果は、組み込みの 影 効果によって使用されます。
この効果の CLSID はCLSID_D2D1GaussianBlur。
画像の例
変更前 |
---|
クリック後 |
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
効果のプロパティ
表示名とインデックス列挙 | 説明 |
---|---|
StandardDeviation D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
画像に適用するぼかしの量。 標準偏差に 3 を乗算することで、カーネルのぼかし半径を計算できます。 標準偏差とぼかし半径の両方の単位は、DIP です。 値が 0 の DIP の場合、この効果は完全に無効になります。 型は FLOAT です。 既定値は 3.0f です。 |
最適化 D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
最適化モード。 詳細については、「 最適化モード 」を参照してください。 型がD2D1_GAUSSIANBLUR_OPTIMIZATION。 既定値は D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED です。 |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
イメージの境界線を計算するために使用されるモード (ソフトまたはハード)。 詳細については、「 罫線モード 」を参照してください。 型がD2D1_GAUSSIANBLUR_BORDER_MODE。 既定値は D2D1_BORDER_MODE_SOFT です。 |
最適化モード
名前 | 説明 |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | 比較的小さい半径での事前スケーリングなどの内部最適化を適用します。 線形フィルター処理を使用します。 |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | 速度モードと同じ最適化しきい値を使用しますが、三線フィルター処理を使用します。 |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | 近似値が表示される可能性が低い、大きなぼかし半径を持つ内部最適化のみを使用します。 三線フィルター処理を使用します。 |
罫線モード
名前 | 説明 |
---|---|
D2D1_BORDER_MODE_SOFT | 効果は、ぼかしカーネルを適用すると、透明な黒ピクセルで画像を埋め込み、ソフトエッジになります。 |
D2D1_BORDER_MODE_HARD | 効果は、入力画像のサイズに出力をクランプします。 効果がぼかしカーネルを適用すると、入力境界外のサンプルに対してミラー型の境界線変換で入力イメージが拡張されます。 |
出力ビットマップ
この効果の出力は、ぼかし半径と境界線モードに基づいて入力ビットマップよりも大きくなる可能性があります。 境界線モードが D2D1_BORDER_MODE_SOFT に設定されている場合、出力ビットマップのサイズは、ピクセル単位で表されるぼかしカーネルのサイズによって増加します。 次の表に、出力ビットマップの計算に使用できる数式を示します。
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
そのため、画像のサイズが各方向に 10 ピクセル増加すると、イメージの左上隅は (-5、-5) に、右下は (105、105) になります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
サポートされている最小のサーバー | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
ヘッダー | d2d1effects.h |
ライブラリ | d2d1.lib、dxguid.lib |