2013-02-09 56 views
2

圖像控制 - 放入Viewbox。 用於在窗口大小更改時自動縮放。 一切都很完美。是否有可能改變WPF圖像控件中圖像插值的質量?

在我的情況下是否可以改變插值類型? 例如,選擇雙三次或雙線。 或者自動縮放這樣的選擇不可用?

BitmapImage bmp=new BitmapImage(new Uri("c:/temp/1.jpg")); 
ImageSource pic = bmp; 
Viewbox vb = new Viewbox(); 
vb.Stretch = Stretch.UniformToFill; 
vb.StretchDirection = StretchDirection.DownOnly; 

Image img=new Image(); 
img.Source = pic; 

vb.Child = img; 

回答

13

據我知道你不能在WPF位圖指定雙三次或雙線性插值(默認是線性的),但你可以設置RenderOptions.BitmapScalingMode選項以獲得縮放的顯示質量更好的控制位圖。例如:

RenderOptions.BitmapScalingMode="NearestNeighbor"RenderOptions.BitmapScalingMode="HighQuality"

有每個MSDN上http://msdn.microsoft.com/en-us/library/system.windows.media.bitmapscalingmode

縮放模式的更多信息如果您仍然有模糊的圖像問題嘗試在你的根元素設置UseLayoutRounding="True"。這將禁用可能會導致WPF應用程序中出現鋸齒線的元素的子像素定位

+1

我動態創建控件圖像。 在我的情況適合這裏的一個方法: RenderOptions.SetBitmapScalingMode(img,BitmapScalingMode.Fant); – Mixer 2013-02-09 11:27:58