我在WPF applcation中使用了一些图像.
XAML:
<Image Name="ImageOrderedList"
Source="images/OrderedList.png"
ToolTip="Ordered List"
Margin="0,0,5,5"
Width="20"
Height="20"
SnapsToDevicePixels="True"
MouseUp="Image_MouseUp"
MouseEnter="Image_MouseEnter"
MouseLeave="Image_MouseLeave" />
Run Code Online (Sandbox Code Playgroud)
但是,它们显得模糊:
这是一个放大的,并排的比较.原件在左侧:
为什么这SnapsToDevicePixels="True"条线不能阻止这个问题呢?
问题在以下链接中描述和演示:
说明:WPF中的文本清晰度.此链接具有字体比较.
我想为这个问题收集所有可能的解决方案.Microsoft Expression Blend使用WPF但字体看起来可读.
有没有更多的解决方案?
它看起来像它已被最终解决!
Scott Hanselman的ComputerZen.com:WPF和Text Blurriness,现在有完整的Clarity
WPF文本博客:其他WPF文本清晰度改进
WPF对你有什么影响
和你是如何理解它到底(请提供链接等).
(我要求这个指导我学习WPF)
我在 WPF 中遇到了位图图像的问题。当图像容器从非整数的位置开始时,图像似乎不尊重 的值SnapsToDevicePixels。
示例代码:
<Window x:Class="BlurryImage.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="110" Width="200">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Button SnapsToDevicePixels="True">
<Image SnapsToDevicePixels="True" Source="i16.png" Stretch="None"/>
</Button>
<Button SnapsToDevicePixels="True" Margin="10.333333,0,0,0">
<Image SnapsToDevicePixels="True" Source="i16.png" Stretch="None"/>
</Button>
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
(注意左边距的值:10.333333。)
这里的图像i16.png是一个简单的 16x16 位图,分辨率为 96 DPI,带有细垂直线:
. (我的系统分辨率是 96 DPI、Windows XP、.NET 4)
当我运行程序时,第一个图像清晰,而第二个图像模糊: 
不同的来源,包括 stackoverflow 上的一些,建议了不同的解决方法。(例如,这些帖子:[1]、[2]和[3]。)我尝试了解决方法,它们似乎有效。使用UseLayoutRounding="true"主窗口上,使两个图像锐利。RenderOptions.BitmapScalingMode="NearestNeighbor"在图像上使用也使其清晰。
问题是,为什么SnapsToDevicePixels="True"没有变通办法就行不通?这是 WPF 中的错误还是我以错误的方式使用它?
我刚开始潜入WPF.我注意到的第一件事,我真正讨厌的是丑陋的渲染.
我不知道为什么但是例如边界或线条有时变得难看.看一下截图.底线是丑陋的.不像中心线那样清脆.
有什么建议让这更好吗?

我在WPF中有一个图像控件.我需要减小图像大小控制的宽度和高度.但是,当我这样做时,图像看起来不太好.数据丢失更多.
所以我想降低图像分辨率而不是仅仅改变图像控制的宽度和高度.
任何人都可以帮助我如何在WPF图像控制中更改绑定图像的图像分辨率
[我的意思是图像已经绑定到图像控制现在我只需更改分辨率]