3

图像控件 - 放置在 Viewbox 中。用于在窗口大小更改时自动缩放。一切都很完美。

在我的情况下是否可以更改插值类型?例如选择双三次或双线性。或者对于自动缩放这样的选择不可用?

BitmapImage bmp=new BitmapImage(new Uri("c:/temp/1.jpg"));
ImageSource pic = bmp;
Viewbox vb = new Viewbox();
vb.Stretch = Stretch.UniformToFill;
vb.StretchDirection = StretchDirection.DownOnly;

Image img=new Image();
img.Source = pic;

vb.Child = img;
4

1 回答 1

16

据我所知,您无法在 WPF 中为位图指定双三次或双线性插值(默认为线性),但您可以设置RenderOptions.BitmapScalingMode选项以更好地控制缩放位图的显示质量。例如:

RenderOptions.BitmapScalingMode="NearestNeighbor"或者RenderOptions.BitmapScalingMode="HighQuality"

在 MSDN http://msdn.microsoft.com/en-us/library/system.windows.media.bitmapscalingmode上有关于每种缩放模式的更多信息

如果您仍然有模糊图形的问题,请尝试UseLayoutRounding="True"在您的根元素中进行设置。这将禁用可能导致 WPF 应用程序中出现锯齿线的元素的子像素定位

于 2013-02-09T10:31:31.940 回答