CompositionSurfaceBrush 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 pixels de um ICompositionSurface.
public ref class CompositionSurfaceBrush 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 CompositionSurfaceBrush 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 CompositionSurfaceBrush : CompositionBrush
Public NotInheritable Class CompositionSurfaceBrush
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
Desenhar um ativo de imagem em um SpriteVisual
private SpriteVisual CreateImageVisual(ICompositionSurface imageSurface)
{
SpriteVisual imageVisual = _compositor.CreateSpriteVisual();
imageVisual.Size = new Vector2(300, 200);
CompositionSurfaceBrush imageBrush = _compositor.CreateSurfaceBrush();
imageBrush.Surface = imageSurface;
// specify CompositionStretch on SurfaceBrush and horizontal/vertical alignment
imageBrush.Stretch = CompositionStretch.UniformToFill;
imageBrush.HorizontalAlignmentRatio = 0.5f;
imageBrush.VerticalAlignmentRatio = 0.5f;
imageVisual.Brush = imageBrush;
return imageVisual;
}
Aplicar uma animação de transformação de escala personalizada a um CompositionSurfaceBrush
private void AnimateBrushScale(SpriteVisual imageVisual)
{
CompositionSurfaceBrush imageBrush = (CompositionSurfaceBrush)imageVisual.Brush;
// set brush CenterPoint at the center of the content painted onto imageVisual
imageBrush.CenterPoint = imageVisual.Size / 2;
// set up scale keyframe animation
CompositionScopedBatch batch = _compositor.CreateScopedBatch(CompositionBatchTypes.Animation);
Vector2KeyFrameAnimation scaleAnimation = _compositor.CreateVector2KeyFrameAnimation();
scaleAnimation.InsertKeyFrame(1.0f, new Vector2(1.5f));
scaleAnimation.Duration = TimeSpan.FromMilliseconds(500);
// start animation on CompositionSurfaceBrush.Scale
imageBrush.StartAnimation("Scale", scaleAnimation);
// end animation batch and fire completion event
batch.End();
batch.Completed += ScaleAnimationBatch_Completed;
}
Comentários
A propriedade Stretch, em conjunto com as propriedades HorizontalAlignmentRatio e VerticalAlignmentRatio, é usada para especificar a escala e o posicionamento do conteúdo do CompositionSurfaceBrush quando pintado em um SpriteVisual.
CompositionSurfaceBrush também tem as seguintes propriedades que permitem transformações personalizadas:
- AnchorPoint
- CenterPoint
- Deslocamento
- RotationAngle
- RotationAngleInDegrees
- Escala
- TransformMatrix
A ordem das operações de transformação em um CompositionSurfaceBrush é a seguinte:
O conteúdo do CompositionSurfaceBrush é estendido e alinhado às propriedades SpriteVisual (consulte As propriedades Stretch, HorizontalAlignmentRatio e VerticalAlignmentRatio ).
Todas as outras propriedades de transformação definidas no CompositionSurfaceBrush são aplicadas.
As transformações personalizadas aplicadas a um CompositionSurfaceBrush são, portanto, avaliadas no espaço de coordenadas do SpriteVisual no qual o pincel é pintado. Por exemplo, definir um Deslocamento de Vector2(100, 0) desloca o conteúdo estendido e alinhado do pincel em 100 unidades para a direita em relação à borda esquerda do SpriteVisual em que ele é pintado.
Histórico de versão
Versão do Windows | Versão do SDK | Valor adicionado |
---|---|---|
1607 | 14393 | AnchorPoint |
1607 | 14393 | CenterPoint |
1607 | 14393 | Deslocamento |
1607 | 14393 | RotationAngle |
1607 | 14393 | RotationAngleInDegrees |
1607 | 14393 | Escala |
1607 | 14393 | TransformMatrix |
1903 | 18362 | SnapToPixels |
Propriedades
AnchorPoint |
O ponto no pincel a ser posicionado no deslocamento do pincel. O valor é normalizado em relação ao tamanho do SpriteVisual. |
BitmapInterpolationMode |
Especifica o algoritmo usado para interpolar pixels de ICompositionSurface quando eles não formam um mapeamento um-para-um para pixels no SpriteVisual (como pode acontecer em alongamento, escala, rotação e outras transformações). |
CenterPoint |
O ponto sobre o qual o pincel é girado e dimensionado. |
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) |
HorizontalAlignmentRatio |
Controla o posicionamento do eixo vertical do conteúdo em relação ao eixo vertical do SpriteVisual. O valor é fixado de 0,0f a 1,0f com 0,0f representando a borda vertical esquerda e 1,0f representando a borda vertical direita do SpriteVisual. |
ImplicitAnimations |
A coleção de animações implícitas anexadas a esse objeto. (Herdado de CompositionObject) |
Offset |
O deslocamento do pincel em relação ao spriteVisual. |
Properties |
A coleção de propriedades associadas ao CompositionObject. (Herdado de CompositionObject) |
RotationAngle |
O ângulo de rotação, em radianos, do pincel. |
RotationAngleInDegrees |
O ângulo de rotação, em graus, do pincel. |
Scale |
A escala a ser aplicada ao pincel. |
SnapToPixels |
Obtém ou define um valor que indica se o pincel de superfície está alinhado com pixels. |
Stretch |
Controla o dimensionamento aplicado ao conteúdo ICompositionSurface em relação ao tamanho do SpriteVisual que está sendo pintado. |
Surface |
O ICompositionSurface associado ao CompositionSurfaceBrush. |
TransformMatrix |
A matriz de transformação a ser aplicada ao pincel. |
VerticalAlignmentRatio |
Controla o posicionamento do eixo horizontal do conteúdo em relação ao eixo horizontal do SpriteVisual. O valor é fixado de 0,0f a 1,0f com 0,0f representando a borda horizontal superior e 1,0f representando a borda horizontal inferior do SpriteVisual. O valor padrão é 0,5f. |
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) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Define uma propriedade que pode ser animada. (Herdado de CompositionObject) |
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) |