2013-01-23 3 views
18

Ho alcune immagini 256x256 che sto utilizzando con i controlli Immagine in un'applicazione WPF. Sebbene siano tutti 256x256, ho modificato alcuni dei controlli in 64x64, ecc. Quando lo ridimensiono (usando fill come proprietà stretch), i bordi diventano molto approssimativi. Anche su qualcosa di semplice come un triangolo, è dolorosamente evidente:Levigatura bordi immagine in WPF

enter image description here

C'è un buon correzione per questo, o devo per ridimensionare le immagini in Photoshop prima di metterli nella domanda?

risposta

41

È necessario impostare le opzioni di rendering dell'immagine.

Prova a impostare lo stile del Immagine a:

<Window.Resources> 
    <Style TargetType="Image"> 
     <Setter Property="Height" Value="64" /> 
     <Setter Property="Width" Value="64" /> 
     <Setter Property="RenderOptions.BitmapScalingMode" Value="HighQuality" /> 
    </Style> 
</Window.Resources> 

Per utilizzare l'immagine, è sufficiente chiamare come prima:

<Image Source="/Images/MyImage.png" /> 

O, per usare il RenderOptions su una singola immagine:

<Image RenderOptions.BitmapScalingMode="HighQuality" 
     Source="/Images/MyImage.png" 
     Width="64" 
     Height="64" /> 

Per maggiori informazioni vedere:

http://msdn.microsoft.com/en-us/library/system.windows.media.renderoptions.aspx