CompositionEffectBrush Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Pinta un SpriteVisual con la salida de un efecto de filtro. La descripción del efecto de filtro se define mediante la clase CompositionEffectFactory .
public ref class CompositionEffectBrush sealed : CompositionBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionEffectBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v2.0)
|
Ejemplos
// Create an effect description
GaussianBlurEffect blurEffect = new GaussianBlurEffect()
{
Name = "Blur",
BlurAmount = 1.0f,
BorderMode = EffectBorderMode.Hard,
Optimization = EffectOptimization.Balanced
};
blurEffect.Source = new CompositionEffectSourceParameter("source");
CompositionEffectFactory blurEffectFactory = _compositor.CreateEffectFactory(blurEffect);
CompositionEffectBrush blurBrush = blurEffectFactory.CreateBrush();
// Create a BackdropBrush and bind it to the EffectSourceParameter “source”
CompositionBackdropBrush backdropBrush = _compositor.CreateBackdropBrush();
blurBrush.SetSourceParameter("source", backdropBrush);
// The SpriteVisual to apply the blur BackdropBrush to
// This will cause everything behind this SpriteVisual to be blurred
SpriteVisual blurSprite = _compositor.CreateSpriteVisual();
blurSprite.Brush = blurBrush;
// Set blurSprite as a child visual of a XAML element
ElementCompositionPreview.SetElementChildVisual(blurArea, blurSprite);
Comentarios
Las API de efectos permiten a los desarrolladores personalizar la representación de su interfaz de usuario. Esto puede ser algo tan sencillo como ajustar los niveles de saturación en una imagen o algo más complejo, como encadenar numerosos efectos juntos y animar las propiedades de efecto para crear transiciones de aplicación interesantes y experiencias de usuario. Un efecto de composición es un gráfico de operaciones que definen cómo generar contenido gráfico basado en superficies de composición. Por ejemplo, el contenido de píxeles de las imágenes. Los efectos se aplican a los objetos visuales del árbol y pueden hacer referencia a superficies existentes.
Se crea una instancia de CompositionEffectBrush con compositionEffectFactory basándose en una descripción de efecto especificada. CompositionEffectFactory usa el formato de descripción del efecto Win2D en el espacio de nombres Microsoft.Graphics.Canvas.Effects .
Nota:
Los efectos que no se admiten se marcan como [NoComposition] en la Referencia de la API de Win2D para efectos.
Un CompositionEffectBrush se aplica a un SpriteVisual en el árbol de composición.
Los orígenes de CompositionEffectBrush pueden ser una superficie o textura existente u otro efecto que habilite el encadenamiento de efectos.
CompositionEffectBrush.Properties (heredado de CompositionObject.Properties) permite establecer o animar las propiedades animables especificadas en la llamada a Compositor. CreateEffectFactory con su nombre completo "EffectName.PropertyName".
Los orígenes de efectos se pueden establecer independientemente de otras instancias de CompositionEffectBrush y las propiedades se pueden animar independientemente de otras instancias de CompositionEffectBrush.
Una vez declarado un gráfico de efectos, el sistema compila el efecto mediante sombreadores integrados. No se pueden especificar sombreadores personalizados.
Creación de un objeto CompositionEffect
Para crear y aplicar un efecto, debe realizar los pasos siguientes:
- Cree una descripción del efecto. Consulta el espacio de nombres Win2D , Microsoft.Graphics.Canvas.Effects, para ver los tipos de efecto válidos.
- Establezca cualquier origen de efecto con una instancia de CompositionEffectSourceParameter u otro efecto. Si se especifica otro efecto, se crea una cadena de efectos.
- Cree un compositionEffectFactory con Compositor. CreateEffectFactory con la descripción del efecto como entrada.
- Cree una instancia del efecto mediante CompositorEffectFactory. CreateBrush.
- Establezca cualquier CompositionEffectSourceParameter con CompositionEffectBrush. SetSourceParameter y el nombre del parámetro de origen como se especificó anteriormente mediante compositionEffectSourceParameter.
- Cree una instancia de SpriteVisual mediante Compositor. CreateSpriteVisual.
- Establezca la propiedad Brush de SpriteVisual en el efecto creado.
- Agregue spriteVisual al árbol de composición mediante la propiedad Children de containerVisual.
Propiedades
Comment |
Cadena que se va a asociar con compositionObject. (Heredado de CompositionObject) |
Compositor |
Compositor que se usa para crear este CompositionObject. (Heredado de CompositionObject) |
Dispatcher |
Distribuidor de CompositionObject. (Heredado de CompositionObject) |
DispatcherQueue |
Obtiene dispatcherQueue para CompostionObject. (Heredado de CompositionObject) |
ImplicitAnimations |
Colección de animaciones implícitas adjuntas a este objeto. (Heredado de CompositionObject) |
Properties |
Colección de propiedades asociadas a CompositionObject. (Heredado de CompositionObject) |
Métodos
Close() |
Cierra compositionObject y libera los recursos del sistema. (Heredado de CompositionObject) |
ConnectAnimation(String, CompositionAnimation) |
Conecta y animación. (Heredado de CompositionObject) |
DisconnectAnimation(String) |
Desconecta una animación. (Heredado de CompositionObject) |
Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados. (Heredado de CompositionObject) |
GetSourceParameter(String) |
Recupera un objeto CompositionBrush asociado a un nombre compositionEffectSourceParameter determinado. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Define una propiedad que se puede animar. (Heredado de CompositionObject) |
SetSourceParameter(String, CompositionBrush) |
Asocia un nombre declarado mediante CompositionEffectSourceParameter a un origen de efecto. |
StartAnimation(String, CompositionAnimation, AnimationController) |
Conecta una animación con la propiedad especificada del objeto e inicia la animación. (Heredado de CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Conecta una animación con la propiedad especificada del objeto e inicia la animación. (Heredado de CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Inicia un grupo de animación. El método StartAnimationGroup en CompositionObject permite iniciar CompositionAnimationGroup. Todas las animaciones del grupo se iniciarán al mismo tiempo en el objeto . (Heredado de CompositionObject) |
StopAnimation(String) |
Desconecta una animación de la propiedad especificada y detiene la animación. (Heredado de CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Detiene un grupo de animaciones. (Heredado de CompositionObject) |
TryGetAnimationController(String) |
Devuelve un AnimationController para la animación que se ejecuta en la propiedad especificada. (Heredado de CompositionObject) |