問題は次のとおりです。Display というコントロール内にライブ画像を表示するアプリケーションがあります。表示コントロール内のライブ画像の上に (潜在的にインタラクティブな) レイヤーが存在する可能性があります (Display
コントロールは基本的LiveImageLayer
に下部にあるグリッドです)。利用可能なレイヤーのほとんどは、画像を目立たなくするための線グラフィックで構成されています。一部のレイヤーは、ボタンやスライダーなどの標準の WPF コントロールで構成されています (テンプレートが変更されているため、線のグラフィックスを使用してレンダリングされます)。DrawingContext を使用して直接描画されるレイヤーもあります。
ライブ ノイズ画像の上にあるレイヤー グラフィックスの視認性と可読性を向上させるために、レイヤーにエフェクトを割り当てようとしましDropShadow
た。これは、視覚的な観点から非常にうまく機能しました。ただし、パフォーマンスの観点からは非常に悪かったです。ImageLayer の高速更新 (最大 60Hz) によりDropShadow
、画像更新頻度ですべてのレイヤーの効果が再計算されました (レイヤー自体が変更されていなくても)。
各レイヤーに手動で旧式の影 (下に黒いペンとブラシを配置した同じグラフィックスを右下に移動) を実装できます。そして、他に良い方法がない場合は実際に実行します。
だから、私の質問は: そのような影を達成するための自動または半自動の方法はありますか? 実際のレイヤーの下に移動した長方形を作成し、そのブラシを実際のレイヤーの視覚ブラシに設定することを考えました。ただし、ビジュアル ブラシの色を黒に変更する方法 (エフェクト以外) が見つかりませんでした。
何か案は?