Gráficos y multimedia
Windows Presentation Foundation (WPF) proporciona compatibilidad con multimedia, gráficos vectoriales, animación y creación de contenido, lo que facilita a los desarrolladores la compilación de interfaces de usuario y contenido interesantes. Mediante Microsoft Visual Studio, puede crear gráficos vectoriales o animaciones complejas e integrar multimedia en las aplicaciones.
En este tema se presentan las características de gráficos, animación y multimedia de WPF, que permite agregar gráficos, efectos de transición, sonido y vídeo a las aplicaciones.
Nota |
---|
Se recomienda encarecidamente no usar los tipos WPF en un servicio de Windows.Si intenta utilizar los tipos WPF en un servicio de Windows, el servicio podría no funcionar como se espera. |
Este tema contiene las secciones siguientes.
- Novedades de gráficos y multimedia en WPF 4
- Gráficos y representación
- Representación 3D
- Animación
- Multimedia
- Temas relacionados
Novedades de gráficos y multimedia en WPF 4
Se han realizado varios cambios relacionados con los gráficos y animaciones.
Redondeo del diseño
Cuando el borde de un objeto cae en medio de un dispositivo de píxel, el sistema de gráficos independiente de los PPP puede crear artefactos de representación, como bordes borrosos o semitransparentes. Las versiones anteriores de WPF incluían el ajuste de píxeles para ayudar a controlar este caso. El redondeo del diseño apareció por primera vez en Silverlight 2 y constituye otra manera de mover los elementos para que los bordes estén dentro de los límites de píxeles completos. WPF proporciona ahora soporte técnico para el redondeo del diseño con la propiedad adjunta UseLayoutRounding en FrameworkElement.
Composición almacenada en caché
Mediante las nuevas clases BitmapCacheBrush y BitmapCache, puede almacenar en memoria caché una parte compleja del árbol visual como un mapa de bits y mejorar considerablemente el tiempo de representación. El mapa de bits sigue siendo sensible a la entrada del usuario, como los clics del mouse, y se puede pintar en otros elementos, igual que cualquier pincel.
Compatibilidad con Pixel Shader 3
WPF 4 aprovecha la compatibilidad con ShaderEffect introducida en WPF 3.5 SP1 y permite a las aplicaciones escribir efectos mediante Pixel Shader (PS) versión 3.0. El modelo del sombreador PS 3.0 es más sofisticado que PS 2.0, que permite realizar aun más efectos en el hardware compatible.
Funciones de aceleración
Puede mejorar las animaciones con funciones de aceleración, que le dan un control adicional sobre el comportamiento de las animaciones. Por ejemplo, puede aplicar ElasticEase a una animación para darle un comportamiento elástico. Para obtener más información, consulte los tipos de aceleración en el espacio de nombres System.Windows.Media.Animation.
Gráficos y representación
WPF incluye compatibilidad con gráficos 2-D de gran calidad. La funcionalidad incluye pinceles, geometrías, imágenes, formas y transformaciones. Para obtener más información, vea Gráficos. La representación de los elementos gráficos se basa en la clase Visual. La estructura de los objetos visuales de la pantalla se describe mediante el árbol visual. Para obtener más información, vea Información general sobre la representación de gráficos en WPF.
Formas 2D
WPF proporciona una biblioteca de formas 2-D de uso común, dibujadas mediante vectores, tales como rectángulos y elipses que se muestran en la ilustración siguiente.
Estas formas intrínsecas de WPF no son solamente formas: son elementos programables que implementan muchas de las características que se esperan de la mayoría de los controles comunes, incluida la entrada de teclado y mouse. En el siguiente ejemplo se muestra cómo controlar el evento MouseUp generado al hacer clic en 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
La ilustración siguiente muestra el resultado del marcado XAML y del código subyacente anterior.
Para obtener más información, vea Información general sobre formas y dibujo básico en WPF. Para obtener un ejemplo introductorio, vea Shape Elements Sample.
Geometrías 2D
Cuando las formas 2-D que proporciona WPF no sean suficientes, puede utilizar la compatibilidad de WPF con geometrías y trayectorias para crear formas propias. La ilustración siguiente muestra cómo puede utilizar geometrías para crear formas, como un pincel de dibujo, y para recortar otros elementos de WPF.
Para obtener más información, vea Información general sobre geometría. Para obtener un ejemplo introductorio, vea Geometries Sample.
Efectos 2D
WPF proporciona una biblioteca de clases 2-D que puede utilizar para crear diversos efectos. La capacidad de presentación 2-D de WPF ofrece la capacidad de dibujar elementos UI con degradados, mapas de bits, dibujos y vídeos; también de manipularlos utilizando giro, escalado y sesgado. La ilustración siguiente proporciona un ejemplo de los muchos efectos que puede lograr utilizando los pinceles de WPF.
Para obtener más información, vea Información general sobre pinceles de WPF. Para obtener un ejemplo introductorio, vea Brushes Sample.
Representación 3D
WPF proporciona un conjunto de capacidades de representación 3-D que se integran con la compatibilidad con gráficos 2-D en WPF para crear interesantes diseños, UI y visualizaciones de datos. En un extremo del espectro, WPF permite representar imágenes 2-D en las superficies de formas 3-D, que se muestran en la siguiente ilustración.
Para obtener más información, vea Información general sobre gráficos 3D. Para obtener un ejemplo introductorio, vea 3-D Solids Sample.
Animación
Utilice animaciones para hacer que los controles y los elementos crezcan, se agiten, giren y se desvanezcan, para crear interesantes transiciones de página y para otros efectos. Dado que WPF permite animar la mayoría de las propiedades, no solamente podrá animar la mayoría de los objetos de WPF, sino que también puede utilizar WPF para animar los objetos personalizados que cree.
Para obtener más información, vea Información general sobre animaciones. Para obtener un ejemplo introductorio, vea Animation Example Gallery.
Multimedia
Las imágenes, el vídeo y el audio son medios multimedia para la difusión de información y experiencias de usuario.
Imágenes
Las imágenes, entre las que se incluyen iconos, fondos e incluso partes de animaciones, son una parte básica de la mayoría de las aplicaciones. Dado que frecuentemente necesitará utilizar imágenes, WPF expone la capacidad de trabajar con ellas de diversas maneras. La ilustración siguiente muestra solamente una de esas maneras.
Para obtener más información, vea Información general sobre imágenes.
Vídeo y audio
Una característica básica de las capacidades gráficas de WPF es la compatibilidad nativa para el trabajo con multimedia, lo que incluye vídeo y audio. El ejemplo siguiente muestra cómo insertar un reproductor multimedia en una aplicación.
<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />
MediaElement es capaz de reproducir tanto vídeo como audio, y es lo suficientemente extensible como para permitir la creación fácil de UIs personalizadas.
Para obtener más información, vea Información general sobre multimedia.
Vea también
Referencia
System.Windows.Media.Animation
Conceptos
Optimizar el rendimiento: Imágenes y gráficos 2D
Información general sobre formas y dibujo básico en WPF
Información general sobre el dibujo con colores sólidos y degradados
Pintar con imágenes, dibujos y elementos visuales
Otros recursos
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Diciembre de 2010 |
Se ha agregado el ejemplo de Visual Basic que faltaba. |
Corrección de errores de contenido. |