方向ぼかし効果
方向ぼかし効果は、ガウスぼかしに似ていますが、特定の方向にぼかしを歪めることができる点が異なります。 この効果を使用すると、イメージを動かしているかのように見えたり、アニメーション化されたイメージを強調したりできます。
この効果の CLSID はCLSID_D2D1DirectionalBlur。
画像の例
以前は |
---|
効果の前に画像を ![]() |
後 |
変換後にイメージを ![]() |
ComPtr<ID2D1Effect> directionalBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1DirectionalBlur, &directionalBlurEffect);
directionalBlurEffect->SetInput(0, bitmap);
directionalBlurEffect->SetValue(D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION, 7.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(directionalBlurEffect.Get());
m_d2dContext->EndDraw();
Effect プロパティ
表示名とインデックス列挙 | 形容 |
---|---|
StandardDeviation D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION |
画像に適用するぼかしの量。 標準偏差に 3 を乗算することで、カーネルのぼかし半径を計算できます。 標準偏差とぼかし半径の両方の単位は DIP です。 値が 0 の場合、この効果は無効になります。 型は FLOAT です。 既定値は 3.0f です。 |
角 D2D1_DIRECTIONALBLUR_PROP_ANGLE |
x 軸に対するぼかしの角度 (反時計回りの方向)。 単位は度単位で指定します。 ぼかしカーネルは、まず、ガウスぼかし 効果と同じプロセスを使用して生成されます。 カーネル値は、ぼかし角度に従って変換されます。 型は FLOAT です。 既定値は 0.0f です。 |
最適化 D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION |
最適化モード。 詳細については、「最適化モードの」を参照してください。 型はD2D1_DIRECTIONALBLUR_OPTIMIZATION。 既定値は D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED です。 |
BorderMode D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE |
イメージの境界線を計算するために使用されるモード(ソフトまたはハード)。 詳細については、「罫線モードの」を参照してください。 型はD2D1_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に設定されている場合、出力ビットマップのサイズは、ピクセル単位で表されるブラー カーネルのサイズによって大きくなります。 これらの数式を使用して、出力ビットマップのサイズを計算できます。
要件 | 価値 |
---|---|
出力ビットマップ増加 X | StandardDeviation (DIP) * 6 * ((ユーザー DPI) / 96) * cos(Angle)) |
出力ビットマップ増加 Y | StandardDeviation (DIP) * 6 * ((ユーザー DPI) / 96) * sin(Angle)) |
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
サポートされている最小サーバー | Windows 7 用 Windows 8 およびプラットフォーム更新プログラム [デスクトップ アプリ |[Windows ストア アプリ] |
ヘッダ | d2d1effects.h |
図書館 | d2d1.lib、dxguid.lib |