CompositionEffectBrush Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Pinta um SpriteVisual com a saída de um efeito de filtro. A descrição do efeito de filtro é definida usando a classe 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
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v2.0)
|
Exemplos
// 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);
Comentários
As APIs de efeito permitem que os desenvolvedores personalizem como sua interface do usuário será renderizada. Isso pode ser algo tão simples quanto ajustar os níveis de saturação em uma imagem ou algo mais complexo, como encadear vários efeitos juntos e animar as propriedades de efeito para criar transições de aplicativo interessantes e experiências do usuário. Um efeito de composição é um grafo de operações que definem como produzir conteúdo gráfico com base em superfícies de composição. Por exemplo, o conteúdo de pixel das imagens. Os efeitos são aplicados a visuais na árvore e podem referenciar superfícies existentes.
Uma instância de CompositionEffectBrush é criada usando um CompositionEffectFactory com base em uma descrição de efeito especificada. CompositionEffectFactory usa o formato de descrição do efeito Win2D no namespace Microsoft.Graphics.Canvas.Effects .
Observação
Os efeitos sem suporte são marcados como [NoComposition] no namespace Referência da API do Win2D para efeitos.
Um CompositionEffectBrush é aplicado a um SpriteVisual na árvore de composição.
As fontes para CompositionEffectBrush podem ser uma superfície ou textura existente, ou outro efeito que habilita o encadeamento de efeitos.
CompositionEffectBrush.Properties (herdado de CompositionObject.Properties) permite definir ou animar as propriedades animáveis que foram especificadas na chamada para Compositor. CreateEffectFactory usando o nome completo 'EffectName.PropertyName'.
As fontes de efeito podem ser definidas independentemente de outras instâncias compositionEffectBrush e as propriedades podem ser animadas independentemente de outras instâncias CompositionEffectBrush.
Depois que um grafo de efeito é declarado, o sistema compila o efeito usando sombreadores internos. Sombreadores personalizados não podem ser especificados.
Criando um CompositionEffect
Para criar e aplicar um efeito, você precisa executar as seguintes etapas:
- Crie uma descrição de efeito. Consulte o namespace Win2D , Microsoft.Graphics.Canvas.Effects, para obter tipos de efeito válidos.
- Defina quaisquer fontes de efeito com uma instância de CompositionEffectSourceParameter ou outro efeito. Especificar outro efeito cria uma cadeia de efeitos.
- Crie um CompositionEffectFactory com Compositor. CreateEffectFactory usando a descrição do efeito como entrada.
- Crie uma instância do efeito usando CompositorEffectFactory. CreateBrush.
- Defina qualquer CompositionEffectSourceParameter usando CompositionEffectBrush. SetSourceParameter e o nome do parâmetro de origem conforme especificado anteriormente usando um CompositionEffectSourceParameter.
- Crie uma instância do SpriteVisual usando Compositor. CreateSpriteVisual.
- Defina a propriedade Brush do SpriteVisual como o efeito criado.
- Adicione o SpriteVisual à árvore de composição usando a propriedade Children de um ContainerVisual.
Propriedades
Comment |
Uma cadeia de caracteres a ser associada ao CompositionObject. (Herdado de CompositionObject) |
Compositor |
O Compositor usado para criar este CompositionObject. (Herdado de CompositionObject) |
Dispatcher |
O dispatcher do CompositionObject. (Herdado de CompositionObject) |
DispatcherQueue |
Obtém o DispatcherQueue para o CompostionObject. (Herdado de CompositionObject) |
ImplicitAnimations |
A coleção de animações implícitas anexadas a esse objeto. (Herdado de CompositionObject) |
Properties |
A coleção de propriedades associadas ao CompositionObject. (Herdado de CompositionObject) |
Métodos
Close() |
Fecha o CompositionObject e libera os recursos do sistema. (Herdado de CompositionObject) |
ConnectAnimation(String, CompositionAnimation) |
Conecta e animação. (Herdado de CompositionObject) |
DisconnectAnimation(String) |
Desconecta uma animação. (Herdado de CompositionObject) |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. (Herdado de CompositionObject) |
GetSourceParameter(String) |
Recupera um CompositionBrush associado a um determinado nome CompositionEffectSourceParameter . |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Define uma propriedade que pode ser animada. (Herdado de CompositionObject) |
SetSourceParameter(String, CompositionBrush) |
Associa um nome declarado usando CompositionEffectSourceParameter a uma fonte de efeito. |
StartAnimation(String, CompositionAnimation, AnimationController) |
Conecta uma animação com a propriedade especificada do objeto e inicia a animação. (Herdado de CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Conecta uma animação com a propriedade especificada do objeto e inicia a animação. (Herdado de CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Inicia um grupo de animação. O método StartAnimationGroup em CompositionObject permite iniciar CompositionAnimationGroup. Todas as animações no grupo serão iniciadas ao mesmo tempo no objeto . (Herdado de CompositionObject) |
StopAnimation(String) |
Desconecta uma animação da propriedade especificada e interrompe a animação. (Herdado de CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Interrompe um grupo de animação. (Herdado de CompositionObject) |
TryGetAnimationController(String) |
Retorna um AnimationController para a animação em execução na propriedade especificada. (Herdado de CompositionObject) |