2013-10-10 199 views
32

我有這樣的圖像(原始尺寸:256×256)調整圖像大小,而不會丟失質量

enter image description here

我做了這個XAML定義來顯示圖像在我的應用

<Image Grid.Row="1" Source="/MyProject;component/Images/happy.png" Stretch="Fill" Width="64" Height="64" VerticalAlignment="Top" Margin="0,0,0,0" HorizontalAlignment="Center" /> 

我得到這個結果

enter image description here

如何更順利地調整大小?

+6

你要找的矢量圖形,而不是位圖。 –

+1

下面的所有答案可能會產生更高質量的圖像,但@HighCore是正確的,因爲您應該使用矢量而不是位圖圖像。 – Icemanind

+0

@HighCore是否有一種方法可以將位圖轉換爲矢量圖形? –

回答

60

對您在圖像RenderOptions.BitmapScalingMode="Fant",就像這樣:

<Image Grid.Row="1" 
     Source="/MyProject;component/Images/happy.png" 
     RenderOptions.BitmapScalingMode="Fant" 
     Stretch="Fill" 
     Width="64" 
     Height="64" 
     VerticalAlignment="Top" 
     Margin="0,0,0,0" 
     HorizontalAlignment="Center" /> 
+1

+ 1命名'RenderOptions.BitmapScalingMode'。 「最近的鄰居」爲我提供了最好的結果 –

39

設置RenderOptions.BitmapScalingMode屬性您Image通過.xaml

<Image Grid.Row="1" RenderOptions.BitmapScalingMode="HighQuality" ... /> 

附加信息:

RenderOptions.BitmapScalingMode是可以擴展基於質量的圖像性能。 WPF 4.0默認爲Unspecified,這是指LowQuality圖像渲染。

但爲了確保圖像在尺寸增加時保持高質量,應選擇BitmapScalingMode 作爲HighQuality

這裏是BitmapScalingMode枚舉構件及其描述從msdn

1. 範特 - 使用非常高的質量凡特位圖縮放,這比所有其他位圖縮放模式比較慢,但是產生較高的質量 輸出。

2. HighQuality - 使用比LowQuality模式慢的高質量位圖縮放比例,但會產生更高質量的輸出。 HighQuality 模式與Fant模式相同。

3. 線性 - 使用比HighQuality模式快的線性位圖縮放比例,但會產生較低的質量輸出。

4. LowQuality - 使用雙線性位圖縮放比HighQuality模式快,但輸出質量較低。 LowQuality 模式與線性模式相同。

5. 最近鄰 - 使用最近鄰位圖縮放,使用該軟件 光柵當在低質量模式提供的性能優勢。這種模式通常用於放大位圖。

6. 未指定 - 使用默認的位圖縮放模式,即線性。

+0

感謝作品完美:) –

相關問題