WPF图片放大后模糊的解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/openzpc/article/details/53765189

WPF中显示图片的方式很多,可以用Image控件来显示图像,或者直接设置一个控件的Background。图片的放大也很简单,直接设置显示图片的控件的Width和Height属性就可以了。
最近一个需求是把一张图片放大十倍左右,我最开始是直接把Image控件的Width和Height乘以放大倍数。
比如这张3824*2494的图片
这里写图片描述
当把图片放大到8倍左右时,效果是这样的
这里写图片描述
但是用户对效果却不满意,他希望看到的是每个像素的样子,因为他要用肉眼来分辨很多相似的图片,而这些图片的细微区别就在于这些像素点颜色有些不同。(就是一个类似找茬的小游戏)。
在网上查了一些资料,发现需要设置Image的BitmapScalingMode和ClearTypeHint属性。
xaml代码如下

 <Image  Name="Img" RenderOptions.BitmapScalingMode="NearestNeighbor" RenderOptions.ClearTypeHint="Enabled" ></Image>

后台代码为:

RenderOptions.SetBitmapScalingMode(Img,BitmapScalingMode.NearestNeighbor);
RenderOptions.SetClearTypeHint(Img,ClearTypeHint.Enabled);

设置这两个属性后,显示的图片如下
这里写图片描述

展开阅读全文

没有更多推荐了,返回首页