Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

WPF: Effetto di "blurring" sulle immagini

Il .NET Framework 3.0 espone il namespace System.Windows.Media.Effects, che incapsula, tra l'altro, alcune classi per la manipolazione di immagini. Con Windows Presentation Foundation è possibile applicare questi effetti sia in modo dichiarativo, tramite XAML, che in modo imperativo da codice.

L'esempio di questo post applica l'effetto di offuscamento (detto anche "blur") a una fotografia, contenuta in un controllo Image. Il risultato a video è il seguente:

che si ottiene in questo modo:

XAML:

        <StackPanel>
          <Image Source="castelli009.jpg" Name="Image1">
            <Image.BitmapEffect>
              <BlurBitmapEffect Radius="4"  />
            </Image.BitmapEffect>
          </Image>          
       </StackPanel>

Al controllo Image, a cui viene assegnata l'immagine tramite l'attributo Source, viene assegnato anche un nome (Name) per poterlo raggiungere da codice.

Secondo lo stile gerarchico di XAML, all'interno dell'elemento Image si definisce un elemento Image.BitmapEffect. L'oggetto BitmapEffect è di tipo BlurBitmapEffect, che viene applicato tramite l'attributo Radius. Il valore che ho inserito è a puro titolo esemplificativo.

Ovviamente, nella maggior parte dei casi gli effetti sulle immagini saranno applicati da codice in quanto vorrete decidere il momento in cui gli effetti stessi debbano essere applicati.

Da codice gestito si capisce meglio come BlurBitmapEffect sia una classe appartenente al namespace sopra citato. Lo stesso risultato si ottiene in questo modo:

Visual Basic:

        Dim myEffect As New System.Windows.Media.Effects.BlurBitmapEffect

        myEffect.Radius = 4

        Image1.BitmapEffect = myEffect
C#:
            System.Windows.Media.Effects.BlurBitmapEffect myEffect = new System.Windows.Media.Effects.BlurBitmapEffect();

            myEffect.Radius = 4;

            Image1.BitmapEffect = myEffect;
Altri effetti interessanti si ottengono utilizzando le classi EmbossBitmapEffect, OuterGlowBitmapEffect e DropShadowBitmapEffect.
Alessandro

Print | posted on sabato 21 luglio 2007 03:08 | Filed Under [ Windows Presentation Foundation ]

Powered by:
Powered By Subtext Powered By ASP.NET