web-dev-qa-db-ja.com

WPFでの画像エッジのスムージング

WPFアプリケーションの画像コントロールで使用している256x256の画像がいくつかあります。それらはすべて256x256ですが、一部のコントロールを64x64などに変更しました。サイズを変更すると(stretchプロパティとしてfillを使用)、エッジが非常に粗くなります。三角形のような単純なものでも、それは痛々しいほど明白です。

enter image description here

これに対する適切な修正はありますか、それともアプリケーションに配置する前にフォトショップで画像のサイズを変更する必要がありますか?

27
Wilson

画像のレンダリングオプションを設定する必要があります。

画像のスタイルを次のように設定してみてください。

<Window.Resources>
    <Style TargetType="Image">
        <Setter Property="Height" Value="64" />
        <Setter Property="Width" Value="64" />
        <Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" />
    </Style>
</Window.Resources>

画像を使用するには、前と同じように呼び出すだけです。

<Image Source="/Images/MyImage.png" />

または、単一の画像でRenderOptionsを使用するには:

<Image RenderOptions.BitmapScalingMode="HighQuality"
       Source="/Images/MyImage.png"
       Width="64"
       Height="64" />

詳細については、以下を参照してください。

http://msdn.Microsoft.com/en-us/library/system.windows.media.renderoptions.aspx

56
d.moncada