對於圖片顯示模糊相信很多人都遇到過,其實,有些圖片會因為垂直分辨率/水平分辨率不同而造成在WPF界面上顯示出現模糊。
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"