Compartir a través de


CompositionEffectBrush Clase

Definición

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(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class CompositionEffectBrush final : CompositionBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionEffectBrush : CompositionBrush
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
Herencia
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionEffectBrush
Atributos

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 (WinAppSDK (WinUI 3) / UWP (WinUI 2)).

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:

  1. Cree una descripción del efecto. Consulta el espacio de nombres Win2D , Espacio de nombres Microsoft.Graphics.Canvas.Effects (WinAppSDK (WinUI 3) / UWP (WinUI 2)), para obtener tipos de efecto válidos.
  2. Establezca cualquier origen de efecto con una instancia de CompositionEffectSourceParameter u otro efecto. Si se especifica otro efecto, se crea una cadena de efectos.
  3. Cree un compositionEffectFactory con Compositor. CreateEffectFactory con la descripción del efecto como entrada.
  4. Cree una instancia del efecto mediante CompositorEffectFactory. CreateBrush.
  5. Establezca cualquier CompositionEffectSourceParameter con CompositionEffectBrush. SetSourceParameter y el nombre del parámetro de origen como se especificó anteriormente mediante compositionEffectSourceParameter.
  6. Cree una instancia de SpriteVisual mediante Compositor. CreateSpriteVisual.
  7. Establezca la propiedad Brush de SpriteVisual en el efecto creado.
  8. 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)
DispatcherQueue

Obtiene dispatcherQueue para compositionObject.

(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)
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)

Se aplica a

Consulte también