Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los efectos de mapa de bits permiten a los diseñadores y desarrolladores aplicar efectos visuales al contenido representado de Windows Presentation Foundation (WPF). Por ejemplo, los efectos de mapa de bits permiten aplicar fácilmente un DropShadowBitmapEffect efecto o un efecto de desenfoque a una imagen o un botón.
Importante
En .NET Framework 4 o posterior, la BitmapEffect clase está obsoleta. Si intenta usar la BitmapEffect clase , obtendrá una excepción obsoleta. La alternativa no obsoleta a la BitmapEffect clase es la Effect clase . En la mayoría de las situaciones, la Effect clase es significativamente más rápida.
Efectos de mapa de bits de WPF
Los efectos de mapa de bits (BitmapEffect objeto) son operaciones de procesamiento de píxeles simples. Un efecto de bitmap toma BitmapSource como entrada y genera un nuevo BitmapSource después de aplicar el efecto, como un desenfoque o una sombra paralela. Cada efecto de mapa de bits expone propiedades que pueden controlar las propiedades de filtrado, como Radius de BlurBitmapEffect.
Como caso especial, en WPF, los efectos se pueden establecer como propiedades en objetos dinámicos Visual, como por ejemplo en un Button o TextBox. El procesamiento de píxeles se aplica y se representa en tiempo de ejecución. En este caso, en el momento de la representación, se convierte automáticamente en Visual su BitmapSource equivalente y se alimenta como entrada en .BitmapEffect La salida reemplaza el Visual comportamiento de representación predeterminado del objeto. Este es el motivo por el que BitmapEffect los objetos obligan a que los gráficos solo se representen mediante software, es decir, no hay aceleración de hardware en las visualizaciones cuando se aplican efectos.
BlurBitmapEffect simula un objeto que aparece fuera del foco.
OuterGlowBitmapEffect crea un halo de color alrededor del perímetro de un objeto.
DropShadowBitmapEffect crea una sombra detrás de un objeto .
BevelBitmapEffect crea un bisel que eleva la superficie de una imagen según una curva especificada.
EmbossBitmapEffect crea una asignación de golpes de para Visual dar la impresión de profundidad y textura a partir de una fuente de luz artificial.
Nota:
Los efectos de mapa de bits de WPF se representan en modo de software. Cualquier objeto que aplique un efecto también se representará en software. El rendimiento se degrada más al usar efectos de mapa de bits en objetos visuales grandes o animar propiedades de un efecto de mapa de bits. Esto no significa que no debe usar efectos de mapa de bits de esta manera en absoluto, pero debe usar precaución y probar exhaustivamente para asegurarse de que los usuarios obtienen la experiencia que espera.
Nota:
Los efectos de mapa de bits de WPF no admiten la ejecución de confianza parcial. Una aplicación debe tener permisos de plena confianza para usar efectos de mapa de bits.
Cómo aplicar un efecto
BitmapEffect es una propiedad de Visual. Por lo tanto, aplicar efectos a objetos visuales, como , ButtonImage, DrawingVisualo UIElement, es tan fácil como establecer una propiedad. BitmapEffect se puede establecer en un único BitmapEffect objeto o se pueden encadenar varios efectos mediante el BitmapEffectGroup objeto .
En el ejemplo siguiente se muestra cómo aplicar un BitmapEffect elemento en lenguaje de marcado extensible de aplicaciones (XAML).
<Button Width="200">You Can't Read This!
<Button.BitmapEffect>
<!-- <BitmapEffectGroup> would go here if you wanted to apply more
then one effect to the Button. However, in this example only
one effect is being applied so BitmapEffectGroup does not need
to be included. -->
<!-- The larger the Radius, the more blurring. The default range is 20.
In addition, the KernelType is set to a box kernel. A box kernel
creates less disruption (less blur) then the default Gaussian kernel. -->
<BlurBitmapEffect Radius="10" KernelType="Box" />
</Button.BitmapEffect>
</Button>
En el ejemplo siguiente se muestra cómo aplicar un BitmapEffect elemento en el código.
// Get a reference to the Button.
Button myButton = (Button)sender;
// Initialize a new BlurBitmapEffect that will be applied
// to the Button.
BlurBitmapEffect myBlurEffect = new BlurBitmapEffect();
// Set the Radius property of the blur. This determines how
// blurry the effect will be. The larger the radius, the more
// blurring.
myBlurEffect.Radius = 10;
// Set the KernelType property of the blur. A KernalType of "Box"
// creates less blur than the Gaussian kernal type.
myBlurEffect.KernelType = KernelType.Box;
// Apply the bitmap effect to the Button.
myButton.BitmapEffect = myBlurEffect;
Nota:
Cuando se aplica un BitmapEffect a un contenedor de diseño, como DockPanel o Canvas, el efecto se aplica al árbol visual del elemento o visual, incluidos todos sus elementos secundarios.
Crear efectos personalizados
WPF también proporciona interfaces no administradas para crear efectos personalizados que se pueden usar en aplicaciones WPF administradas. Para obtener material de referencia adicional para crear efectos de mapa de bits personalizados, vea la documentación de Efectos de Mapa de Bits sin Administración en WPF.
Consulte también
.NET Desktop feedback