2013-01-23 9 views
18

Mam kilka obrazów 256x256, których używam z formantami obrazu w aplikacji WPF. Chociaż wszystkie mają rozmiar 256x256, zmieniłem niektóre elementy sterujące na 64x64 itd. Po zmniejszeniu rozmiaru (używając wypełnienia jako właściwości rozciągania) krawędzie stają się bardzo ostre. Nawet coś tak prostego jak trójkąt, to boleśnie oczywiste:Wygładzanie krawędzi obrazu w WPF

enter image description here

Czy jest dobrym rozwiązaniem tego problemu, czy trzeba zmienić rozmiar zdjęć w programie Photoshop, przed wprowadzeniem ich do aplikacji?

Odpowiedz

41

Musisz ustawić opcje renderowania obrazu.

Spróbuj ustawić styl obrazu do:

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

Aby użyć obrazu, po prostu zadzwoń, jak poprzednio:

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

Lub użyć RenderOptions na jednym obrazie:

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

Aby uzyskać więcej informacji, patrz:

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