我有这张图片(原稿尺寸:256x256)
我制作了这个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" />
我得到了这个结果
如何更顺利地调整大小?
答案 0 :(得分:76)
在您的图片上加入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 :(得分:49)
为RenderOptions.BitmapScalingMode
至Image
设置.xaml
属性:
<Image Grid.Row="1" RenderOptions.BitmapScalingMode="HighQuality" ... />
其他信息:
RenderOptions.BitmapScalingMode
是一个根据质量缩放图像的属性。
WPF 4.0
默认为Unspecified
,表示LowQuality
图片呈现。
但是为了确保图像在尺寸增加时保持良好的质量,BitmapScalingMode
应选为HighQuality
。
以下是 BitmapScalingMode 枚举成员及其msdn的说明:
1. Fant - 使用非常高质量的Fant位图缩放,这比所有其他位图缩放模式慢,但产生更高的质量 输出
2. HighQuality - 使用高质量的位图缩放,这比LowQuality模式慢,但产生更高质量的输出。 HighQuality 模式与Fant模式相同。
3. 线性 - 使用线性位图缩放,这比HighQuality模式更快,但产生的输出质量较低。
4. LowQuality - 使用双线性位图缩放,这比HighQuality模式更快,但产生的输出质量较低。 LowQuality mode与Linear模式相同。
5. NearestNeighbor - 使用最近邻居位图缩放,当软件提供低于LowQuality模式的性能优势时 使用光栅化器。此模式通常用于放大位图。
6. 未指定 - 使用默认的位图缩放模式,即线性。
答案 2 :(得分:2)
如上所述,设置RenderOptions.BitmapScalingMode="HighQuality"
激活抗锯齿功能。我想为不知道什么是抗锯齿的用户提供一个示例。
没有此设置:
<Image x:Name="InstrumentImage" />
使用此设置:
<Image x:Name="InstrumentImage" RenderOptions.BitmapScalingMode="HighQuality" />