是否可以在WPF图像控制中更改图像插值的质量?

时间:2013-02-09 10:07:46

标签: c# wpf image interpolation viewbox

图像控制 - 放入Viewbox。 用于窗口大小更改时的自动缩放。 一切都很完美。

在我的情况下是否可以更改插值类型? 例如,选择Bicubic或Bilinear。 或者对于这种选择的自动缩放是不可用的?

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;

1 个答案:

答案 0 :(得分:13)

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

RenderOptions.BitmapScalingMode="NearestNeighbor"RenderOptions.BitmapScalingMode="HighQuality"

有关MSDN http://msdn.microsoft.com/en-us/library/system.windows.media.bitmapscalingmode

上每种缩放模式的更多信息

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