【WPF】Image控件鋸齒問題

1 現象:
使用Image控件顯示圖片,對於灰度的一個圖片,發現出現了鋸齒,在灰度逐漸減淡的地帶,出現了類似於馬賽克的鋸齒過度。

2 解決方法
在網上找了下原因,最終發現是一個屬性設置的問題:

RenderOptions.BitmapScalingMode="NearestNeighbor"

將這個屬性默認不做設置就能解決,或者改爲以下設置也可以解決。

RenerOptions.BitmapScalingMode="HighQuality"

關於該屬性的幾個值與物理意義:摘自參考文件(2).
Unspecified使用默認位圖縮放模式,即 Linear。
LowQuality使用雙線性位圖縮放,雖然速度比 HighQuality 快,但輸出質量較低。 LowQuality 模式與 Linear 模式相同。
HighQuality使用高質量位圖縮放,雖然速度比 LowQuality 模式慢,但輸出質量更高。 HighQuality 模式與 Fant 模式相同。
Linear使用線性位圖縮放,雖然速度比 HighQuality 模式快,但輸出質量較低。
Fant使用超高質量 Fant 位圖縮放,雖然速度比所有其他位圖縮放模式都慢,但輸出質量更高。
NearestNeighbor使用最近鄰域位圖縮放,當使用軟件光柵器時,該縮放提供優於 LowQuality 模式的性能。 該模式常用於放大位圖。

3 鋸齒模糊等顯示問題的其他解決方案
在查的過程中,也找了一些關於模糊、鋸齒的設置的東西。當然也有人說不管用的,當然,另幾個對我這個不適用。
列舉以下:
1.設置 SnapToDevicePixels=“True”
之前利用解決過有的顯示器上會出現一條線。
2.設置 RenerOptions.BitmapScalingMode=“HighQuality”
3.設置 UserLayoutRounding=“True”
網上說有人能解決,但是我設置了上邊的NearestNeighbor以後沒用。其他人可以試試。

當然,還有人說這個wpf的缺陷,建議用其他方式實現圖片顯示。具體可參考:
(1)WPF中Image控件圖像模糊的解決方案
介紹了多種情況。
(2)WPF圖片模糊的解決之路

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章