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

Mix*_*xer 3 c# wpf interpolation image 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;
Run Code Online (Sandbox Code Playgroud)

小智 14

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

RenderOptions.BitmapScalingMode="NearestNeighbor" 要么 RenderOptions.BitmapScalingMode="HighQuality"

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

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