我在WPF应用程序中使用了一些256x256图像。虽然它们都是256x256,但我将一些控件更改为64x64等。当我将其调整大小时(使用fill作为我的拉伸属性),边缘变得非常粗糙。即使是像三角形这样简单的东西,也很明显:
对此有一个很好的解决方法,还是我需要在将它们放入应用程序之前调整Photoshop中的图像大小?
答案 0 :(得分:55)
您需要设置图像的渲染选项。
尝试将图像的样式设置为:
<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
答案 1 :(得分:0)
以下是代码中的先前答案:
var i = new Image();
System.Windows.Media.RenderOptions.SetBitmapScalingMode(i, System.Windows.Media.BitmapScalingMode.HighQuality);