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.
Nota |
---|
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.
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.
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.
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.
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.
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.
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.
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.Animation
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
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Dicembre 2010 |
Aggiunta di un esempio mancante di Visual Basic. |
Correzione di bug nel contenuto. |