解决WPF图片模糊最佳方法
2016-01-13 14:01
573 查看
对于图片显示模糊相信很多人都遇到过,其实,有些图片会因为垂直分辨率/水平分辨率不同而造成在WPF界面上显示出现模糊。
WPF默认是96Dpi,但有些图片可能是72DPI甚至更低或更高,这样就会出现图片显示后被放大或缩小。
解决的方法:
通过绑定图片的Source.PixelHeight与Source.PixelWidth并结合Stretch="Fill"或UseLayoutRounding="True"来限制图片大小达到最佳效果。
其他属性设置:
Image的 RenderOptions.BitmapScalingMode属性,里面几个枚举值
Unspecified使用默认位图缩放模式,即 Linear。
LowQuality使用双线性位图缩放,虽然速度比 HighQuality 快,但输出质量较低。 LowQuality 模式与 Linear 模式相同。
HighQuality使用高质量位图缩放,虽然速度比 LowQuality 模式慢,但输出质量更高。 HighQuality 模式与 Fant 模式相同。
Linear使用线性位图缩放,虽然速度比 HighQuality 模式快,但输出质量较低。
Fant使用超高质量 Fant 位图缩放,虽然速度比所有其他位图缩放模式都慢,但输出质量更高。
NearestNeighbor使用最近邻域位图缩放,当使用软件光栅器时,该缩放提供优于 LowQuality 模式的性能。 该模式常用于放大位图。
MSDN:http://msdn.microsoft.com/zh-cn/library/system.windows.media.bitmapscalingmode(v=vs.100).aspx
图标出现锯齿
用UseLayoutRounding="True"
WPF默认是96Dpi,但有些图片可能是72DPI甚至更低或更高,这样就会出现图片显示后被放大或缩小。
解决的方法:
通过绑定图片的Source.PixelHeight与Source.PixelWidth并结合Stretch="Fill"或UseLayoutRounding="True"来限制图片大小达到最佳效果。
<Image HorizontalAlignment="Left" Source="{StaticResource vs2}" VerticalAlignment="Top" Stretch="Fill" Width="{Binding Source.PixelWidth, Mode=OneWay, RelativeSource={RelativeSource Self}}" Height="{Binding Source.PixelHeight, Mode=OneWay, RelativeSource={RelativeSource Self}}" />
其他属性设置:
Image的 RenderOptions.BitmapScalingMode属性,里面几个枚举值
Unspecified使用默认位图缩放模式,即 Linear。
LowQuality使用双线性位图缩放,虽然速度比 HighQuality 快,但输出质量较低。 LowQuality 模式与 Linear 模式相同。
HighQuality使用高质量位图缩放,虽然速度比 LowQuality 模式慢,但输出质量更高。 HighQuality 模式与 Fant 模式相同。
Linear使用线性位图缩放,虽然速度比 HighQuality 模式快,但输出质量较低。
Fant使用超高质量 Fant 位图缩放,虽然速度比所有其他位图缩放模式都慢,但输出质量更高。
NearestNeighbor使用最近邻域位图缩放,当使用软件光栅器时,该缩放提供优于 LowQuality 模式的性能。 该模式常用于放大位图。
MSDN:http://msdn.microsoft.com/zh-cn/library/system.windows.media.bitmapscalingmode(v=vs.100).aspx
图标出现锯齿
用UseLayoutRounding="True"
相关文章推荐
- JQuery阻止事件冒泡
- 管理者如何调整团队氛围?
- BZOJ1003 [ZJOI2006] 物流运输trans
- 使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物
- Productivity Power Tools 动画演示--给力的插件工具
- Java解析XMl
- webpack(一) getting started
- 游戏背包设计
- MySQL 去除字段中的换行和回车符
- java 实现二分查找法
- 查看代理方法的实现并调用(ios)
- 软件技术文章备忘
- eclipse-mvn打包跳过junit测试类
- 在集群中使用session
- gulp plugins 插件介绍
- Linux权限详解
- ln 命令
- 如何在VMware下安装Centos6.x
- 使用代理软件mysql-proxy实现mysql的读写分离
- matlab中figure图片大小修改