Partilhar via


CompositionSurfaceBrush Classe

Definição

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
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
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:

  1. O conteúdo do CompositionSurfaceBrush é estendido e alinhado às propriedades SpriteVisual (consulte As propriedades Stretch, HorizontalAlignmentRatio e VerticalAlignmentRatio ).

  2. 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)

Aplica-se a

Confira também