35

我有一些 256x256 图像,我在 WPF 应用程序中使用图像控件。虽然它们都是 256x256,但我将一些控件更改为 64x64 等。当我缩小它的大小(使用填充作为我的拉伸属性)时,边缘变得非常粗糙。即使在像三角形这样简单的东西上,也很明显:

在此处输入图像描述

有没有一个很好的解决方法,或者我需要在将它们放入应用程序之前在 Photoshop 中调整图像大小?

4

2 回答 2

75

您需要设置图像的渲染选项。

尝试将图像的样式设置为:

<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

于 2013-01-23T22:34:11.837 回答
0

这是代码中的先前答案:

var i = new Image();
System.Windows.Media.RenderOptions.SetBitmapScalingMode(i, System.Windows.Media.BitmapScalingMode.HighQuality);
于 2020-12-07T14:01:29.057 回答