2013-10-10 149 views
32

我有这样的图像(原始尺寸:256×256)调整图像大小,而不会丢失质量

enter image description here

我做了这个XAML定义来显示图像在我的应用

<Image Grid.Row="1" Source="/MyProject;component/Images/happy.png" Stretch="Fill" Width="64" Height="64" VerticalAlignment="Top" Margin="0,0,0,0" HorizontalAlignment="Center" /> 

我得到这个结果

enter image description here

如何更顺利地调整大小?

+6

你要找的矢量图形,而不是位图。 –

+1

下面的所有答案可能会产生更高质量的图像,但@HighCore是正确的,因为您应该使用矢量而不是位图图像。 – Icemanind

+0

@HighCore是否有一种方法可以将位图转换为矢量图形? –

回答

60

对您在图像RenderOptions.BitmapScalingMode="Fant",就像这样:

<Image Grid.Row="1" 
     Source="/MyProject;component/Images/happy.png" 
     RenderOptions.BitmapScalingMode="Fant" 
     Stretch="Fill" 
     Width="64" 
     Height="64" 
     VerticalAlignment="Top" 
     Margin="0,0,0,0" 
     HorizontalAlignment="Center" /> 
+1

+ 1命名'RenderOptions.BitmapScalingMode'。 “最近的邻居”为我提供了最好的结果 –

39

设置RenderOptions.BitmapScalingMode属性您Image通过.xaml

<Image Grid.Row="1" RenderOptions.BitmapScalingMode="HighQuality" ... /> 

附加信息:

RenderOptions.BitmapScalingMode是可以扩展基于质量的图像性能。 WPF 4.0默认为Unspecified,这是指LowQuality图像渲染。

但为了确保图像在尺寸增加时保持高质量,应选择BitmapScalingMode 作为HighQuality

这里是BitmapScalingMode枚举构件及其描述从msdn

1. 范特 - 使用非常高的质量凡特位图缩放,这比所有其他位图缩放模式比较慢,但是产生较高的质量 输出。

2. HighQuality - 使用比LowQuality模式慢的高质量位图缩放比例,但会产生更高质量的输出。 HighQuality 模式与Fant模式相同。

3. 线性 - 使用比HighQuality模式快的线性位图缩放比例,但会产生较低的质量输出。

4. LowQuality - 使用双线性位图缩放比HighQuality模式快,但输出质量较低。 LowQuality 模式与线性模式相同。

5. 最近邻 - 使用最近邻位图缩放,使用该软件 光栅当在低质量模式提供的性能优势。这种模式通常用于放大位图。

6. 未指定 - 使用默认的位图缩放模式,即线性。

+0

感谢作品完美:) –

相关问题