原文: WPF圖檔放大後模糊的解決方法
WPF中顯示圖檔的方式很多,可以用Image控件來顯示圖像,或者直接設定一個控件的Background。圖檔的放大也很簡單,直接設定顯示圖檔的控件的Width和Height屬性就可以了。
最近一個需求是把一張圖檔放大十倍左右,我最開始是直接把Image控件的Width和Height乘以放大倍數。
比如這張3824*2494的圖檔

但是使用者對效果卻不滿意,他希望看到的是每個像素的樣子,因為他要用肉眼來分辨很多相似的圖檔,而這些圖檔的細微差別就在于這些像素點顔色有些不同。(就是一個類似找茬的小遊戲)。
在網上查了一些資料,發現需要設定Image的BitmapScalingMode和ClearTypeHint屬性。
xaml代碼如下
<Image Name="Img" RenderOptions.BitmapScalingMode="NearestNeighbor" RenderOptions.ClearTypeHint="Enabled" ></Image>
背景代碼為:
RenderOptions.SetBitmapScalingMode(Img,BitmapScalingMode.NearestNeighbor);
RenderOptions.SetClearTypeHint(Img,ClearTypeHint.Enabled);
設定這兩個屬性後,顯示的圖檔如下