Grafica e funzionalità multimediali

Windows Presentation Foundation (WPF) offre supporto per contenuto multimediale, grafica vettoriale, animazione e composizione di contenuto, consentendo agli sviluppatori di compilare interfacce utente e contenuto interessanti. Tramite Microsoft Visual Studio è possibile creare grafica vettoriale o animazioni complesse e integrare supporti nelle applicazioni.

In questo argomento vengono illustrate le funzionalità relative alla grafica, all'animazione e ai supporti di WPF che consentono di aggiungere grafica, effetti di transizione, suoni e video alle applicazioni.

NotaNota

L'utilizzo di tipi WPF in un servizio Windows è fortemente sconsigliato.Se si tenta di utilizzare i tipi WPF in un servizio Windows, è possibile che tale servizio non funzioni come previsto.

Nel presente argomento sono contenute le seguenti sezioni.

  • Novità di WPF 4 relativamente a grafica e contenuti multimediali
  • Grafica e rendering
  • Rendering 3D
  • Animazione
  • Supporti multimediali
  • Argomenti correlati

Novità di WPF 4 relativamente a grafica e contenuti multimediali

Sono state apportate diverse modifiche correlate agli elementi grafici e alle animazioni.

  • Arrotondamento del layout

    Quando il bordo di un oggetto cade in corrispondenza del centro del pixel di un dispositivo, il sistema grafico indipendente dai dpi può creare elementi di rendering, ad esempio bordi sfuocati o semitrasparenti. La gestione di questa situazione nelle versioni precedenti di WPF veniva realizzata tramite il blocco dei pixel. In Silverlight 2 è stato introdotto l'arrotondamento del layout, ovvero un'altra modalità di spostamento degli elementi che determina il posizionamento dei bordi in corrispondenza dei limiti di pixel interi. In WPF è ora supportato l'arrotondamento del layout con la proprietà collegata UseLayoutRounding su FrameworkElement.

  • Composizione memorizzata nella cache

    Tramite le nuove classi BitmapCache e BitmapCacheBrush, è possibile memorizzare nella cache una parte complessa della struttura ad albero visuale come bitmap e migliorare notevolmente i tempi di rendering. La bitmap risponderà all'input dell'utente, ad esempio i clic del mouse, e sarà possibile disegnarla su altri elementi esattamente come con un qualsiasi pennello.

  • Supporto di Pixel Shader 3

    WPF 4 si basa sul supporto di ShaderEffect introdotto in WPF 3.5 SP1, consentendo la scrittura di effetti per le applicazioni tramite Pixel Shader (PS) versione 3.0. Il modello di shader PS 3.0 è più avanzato rispetto a PS 2.0 e rende disponibile un maggior numero di effetti nell'hardware supportato.

  • Funzioni di interpolazione

    È possibile migliorare la qualità delle animazioni utilizzando le funzioni di interpolazione che forniscono il controllo sul comportamento delle animazioni. È ad esempio possibile applicare un oggetto ElasticEase a un'animazione per conferire all'animazione un effetto molla. Per ulteriori informazioni, vedere i tipi di interpolazione nello spazio dei nomi System.Windows.Media.Animation.

Grafica e rendering

WPF include supporto per grafica 2D di elevata qualità. La funzionalità include pennelli, geometrie, immagini, forme e trasformazioni. Per ulteriori informazioni, vedere Grafica. Il rendering degli elementi grafici si basa sulla classe Visual. La struttura degli oggetti visivi sullo schermo è descritta dalla struttura ad albero visuale. Per ulteriori informazioni, vedere Cenni preliminari sul rendering della grafica WPF.

Forme 2D

WPF fornisce una libreria di forme 2-D basate su vettore e di utilizzo comune quali rettangoli ed ellissi, come illustrato di seguito.

Ellissi e rettangoli

Queste forme WPF intrinseche non sono solo forme, ma elementi programmabili che implementano molte funzionalità tipiche dei controlli più comuni, incluso l'input della tastiera e del mouse. Nell'esempio seguente viene illustrato come gestire l'evento MouseUp generato facendo clic su un elemento Ellipse.

<Window
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="Window1" >
  <Ellipse Fill="LightBlue" MouseUp="ellipseButton_MouseUp" />
</Window>
public partial class Window1  : Window
{
    void ellipseButton_MouseUp(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("You clicked the ellipse!");
    }
}
Partial Public Class Window1
    Inherits Window
    Private Sub ellipseButton_MouseUp(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
        MessageBox.Show("You clicked the ellipse!")
    End Sub
End Class

Di seguito viene illustrato l'output per il code-behind e il markup XAML precedente.

Finestra con il testo "you clicked the ellipse!"

Per ulteriori informazioni, vedere Cenni preliminari sugli oggetti Shape e sulle funzionalità di disegno di base di WPF. Per un esempio introduttivo, vedere Esempio di elementi forma (la pagina potrebbe essere in inglese).

Geometrie 2D

Se le forme 2-D fornite da WPF non sono sufficienti, è possibile utilizzare il supporto WPF per geometrie e percorsi e crearne di personalizzati. Di seguito viene illustrato come utilizzare le geometrie per creare forme, ad esempio un pennello, e per ridimensionare altri elementi WPF.

Vari utilizzi di Path

Per ulteriori informazioni, vedere Cenni preliminari sulle classi Geometry. Per un esempio introduttivo, vedere Esempio di geometrie (la pagina potrebbe essere in inglese).

Effetti 2D

WPF fornisce una libreria di classi 2-D che è possibile utilizzare per creare molteplici effetti. La funzionalità di rendering 2-D di WPF consente di disegnare elementi dell'UI con sfumature, bitmap, disegni e video, nonché di modificarli tramite rotazione, ridimensionamento e inclinazione. Nell'illustrazione seguente viene fornito un esempio dei molti effetti che è possibile ottenere utilizzando i pennelli WPF.

Illustrazione di pennelli diversi

Per ulteriori informazioni, vedere Cenni preliminari sui pennelli di WPF. Per un esempio introduttivo, vedere Esempio Brush (la pagina potrebbe essere in inglese).

Rendering 3D

WPF fornisce un insieme di funzionalità di rendering 3-D integrabili con il supporto della grafica 2-D in WPF per creare layout, elementi dell'UIe visualizzazione dei dati più accattivanti. A una estremità dello spettro, WPF consente di eseguire il rendering delle immagini 2-D sulle superfici di forme 3-D, come illustrato di seguito.

Schermata dell'esempio Visual3D

Per ulteriori informazioni, vedere Cenni preliminari sulla grafica tridimensionale. Per un esempio introduttivo, vedere Esempio di solidi 3D (la pagina potrebbe essere in inglese).

Animazione

Utilizzare l'animazione per applicare ai controlli e agli elementi gli effetti di dissolvenza, rotazione, ingrandimento e tremolio, nonché per creare accattivanti transizioni tra le pagine e molto altro. Poiché WPF consente di animare la maggior parte delle proprietà, non solo è possibile animare la maggior parte degli oggetti WPF, ma anche utilizzare WPF per animare gli oggetti personalizzati creati.

Immagini di un cubo animato

Per ulteriori informazioni, vedere Cenni preliminari sull'animazione. Per un esempio introduttivo, vedere Raccolta di esempi di animazioni (la pagina potrebbe essere in inglese).

Supporti multimediali

Immagini, video e audio sono supporti multimediali per trasmettere informazioni ed esperienze utente.

Immagini

Le immagini, ovvero icone, sfondi e parti di animazioni, sono fondamentali per la maggior parte delle applicazioni. Perché è spesso necessario utilizzare le immagini, WPF consente di utilizzarle in vari modi. Di seguito viene illustrato uno di questi modi.

Schermata dell'esempio Styling

Per ulteriori informazioni, vedere Cenni preliminari sulla creazione dell'immagine.

Video e audio

Una caratteristica fondamentale delle funzionalità grafiche di WPF è rappresentata dal supporto nativo per l'utilizzo di contenuti multimediali, inclusi video e audio. Nell'esempio seguente viene illustrato come inserire un lettore multimediale in un'applicazione.

<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />

L'oggetto MediaElement consente di riprodurre video e audio e la sua estensibilità è tale consentire la creazione di UIs personalizzate.

Per ulteriori informazioni, vedere Panoramica delle funzionalità multimediali.

Vedere anche

Riferimenti

System.Windows.Media

System.Windows.Media.Animation

System.Windows.Media.Media3D

Concetti

Ottimizzazione delle prestazioni: grafica bidimensionale e creazione di immagini

Cenni preliminari sugli oggetti Shape e sulle funzionalità di disegno di base di WPF

Cenni sul disegno con colori a tinta unita e sfumature

Disegnare con oggetti Image, Drawing e Visual

Altre risorse

Animation and Timing

3-D Graphics

Multimedia

Cronologia delle modifiche

Data

Cronologia

Motivo

Dicembre 2010

Aggiunta di un esempio mancante di Visual Basic.

Correzione di bug nel contenuto.