1

壮大なSvg2XamlプラグインによってSVGから変換したDrawingImageがあります。このようにして、ユーザーがアプリケーション内のいくつかの要素のビジュアルを簡単に定義できるようにすることができます。

指定されたDrawingImageの色を変更したいユースケースがいくつかあります。最も単純なケースは、グレースケールにすることです。

すべての要素を再帰的に調べ、それらの色を取得して、対応するグレースケールに切り替える方法はありますか?または、たとえば、画像全体に「フィルター」のようなものを使用しますか?

私はWPFの経験があまりありませんが、これができれば、作業がはるかに簡単になります。

私の最良の選択は何でしょうか?

また、DrawingImageがベクターグラフィックを使用することも重要なので、画像をピクセル化したくありません。

4

2 に答える 2

1

UはWPFリソースディクショナリを確認し、 DynamicResourceを使用する必要がある場合があります

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Color x:Key="FrontColor">White</Color>

    <SolidColorBrush x:Key="Foreground" Color="{DynamicResource FrontColor}" />
</ResourceDictionary>
于 2012-11-23T18:10:46.997 に答える
1

私のコメントを答えに変換する:

ビジュアルグレースケールを作成する特定のケースについては、シェーダーエフェクトライブラリを確認することをお勧めします。

于 2012-11-24T14:26:11.860 に答える