C# WPF中的图像边缘平滑
我有一些256x256图像,我正在WPF应用程序中与图像控件一起使用。虽然它们都是256x256,但我将一些控件更改为64x64等。当我向下调整其大小时(使用填充作为拉伸属性),边缘变得非常粗糙。即使是在像三角形这样简单的物体上,这一点也非常明显:C# WPF中的图像边缘平滑,c#,wpf,image,antialiasing,C#,Wpf,Image,Antialiasing,我有一些256x256图像,我正在WPF应用程序中与图像控件一起使用。虽然它们都是256x256,但我将一些控件更改为64x64等。当我向下调整其大小时(使用填充作为拉伸属性),边缘变得非常粗糙。即使是在像三角形这样简单的物体上,这一点也非常明显: 是否有一个很好的解决方案,或者在将图像放入应用程序之前需要在photoshop中调整图像的大小?您需要设置图像的渲染选项 尝试将图像的样式设置为: <Window.Resources> <Style TargetType=
是否有一个很好的解决方案,或者在将图像放入应用程序之前需要在photoshop中调整图像的大小?您需要设置图像的渲染选项 尝试将图像的样式设置为:
<Window.Resources>
<Style TargetType="Image">
<Setter Property="Height" Value="64" />
<Setter Property="Width" Value="64" />
<Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" />
</Style>
</Window.Resources>
有关更多信息,请参阅:
下面是前面的代码回答:
var i = new Image();
System.Windows.Media.RenderOptions.SetBitmapScalingMode(i, System.Windows.Media.BitmapScalingMode.HighQuality);
如何在代码中设置此项?
<Image RenderOptions.BitmapScalingMode="HighQuality"
Source="/Images/MyImage.png"
Width="64"
Height="64" />
var i = new Image();
System.Windows.Media.RenderOptions.SetBitmapScalingMode(i, System.Windows.Media.BitmapScalingMode.HighQuality);