Partilhar via


CompositionSurfaceBrush Classe

Definição

Pinta um SpriteVisual com pixels de um ICompositionSurface.

public ref class CompositionSurfaceBrush 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 CompositionSurfaceBrush 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 CompositionSurfaceBrush 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 CompositionSurfaceBrush : 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 CompositionSurfaceBrush : CompositionBrush
Public NotInheritable Class CompositionSurfaceBrush
Inherits CompositionBrush
Herança
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Atributos

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.

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

Obtém o DispatcherQueue para o CompositionObject.

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