【问题标题】:Is it possible to change the quality of the image interpolation in WPF Image control?是否可以在 WPF 图像控件中更改图像插值的质量?
【发布时间】:2013-01-25 01:40:36
【问题描述】:

图像控件 - 放置在 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;

【问题讨论】:

    标签: c# wpf image interpolation viewbox


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我动态地创建了一个控制图像。在我的情况下,这里有一个方法:RenderOptions.SetBitmapScalingMode(img, BitmapScalingMode.Fant);
    猜你喜欢
    • 1970-01-01
    • 2016-11-12
    • 2010-10-30
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多