CompositionSurfaceBrush Clase

Definición

Pinta un SpriteVisual con píxeles de 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
Herencia
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v2.0)

Ejemplos

Dibujar un recurso de imagen en un 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 una animación de transformación de escala personalizada a 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;
} 

Comentarios

La propiedad Stretch, junto con las propiedades HorizontalAlignmentRatio y VerticalAlignmentRatio, se usa para especificar la escala y el posicionamiento del contenido de CompositionSurfaceBrush cuando se pinta en un SpriteVisual.

CompositionSurfaceBrush también tiene las siguientes propiedades que permiten transformaciones personalizadas:

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • Escala
  • TransformMatrix

El orden de las operaciones de transformación en compositionSurfaceBrush es el siguiente:

  1. El contenido de CompositionSurfaceBrush se ajusta y alinea con las propiedades SpriteVisual (vea Stretch, HorizontalAlignmentRatio y VerticalAlignmentRatio ).

  2. Se aplican cualquier otra propiedad de transformación establecida en CompositionSurfaceBrush.

    Por lo tanto, las transformaciones personalizadas aplicadas a compositionSurfaceBrush se evalúan en el espacio de coordenadas de SpriteVisual en el que se pinta el pincel. Por ejemplo, si se establece un desplazamiento de Vector2(100, 0) se desplaza el contenido estirado y alineado del pincel en 100 unidades a la derecha en relación con el borde izquierdo del SpriteVisual en el que se pinta.

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1607 14393 AnchorPoint
1607 14393 CenterPoint
1607 14393 Offset
1607 14393 RotationAngle
1607 14393 RotationAngleInDegrees
1607 14393 Escala
1607 14393 TransformMatrix
1903 18362 SnapToPixels

Propiedades

AnchorPoint

Punto del pincel que se va a colocar en el desplazamiento del pincel. El valor se normaliza con respecto al tamaño de SpriteVisual.

BitmapInterpolationMode

Especifica el algoritmo que se usa para interpolar píxeles de ICompositionSurface cuando no forman una asignación uno a uno a píxeles en SpriteVisual (como puede ocurrir en stretch, scale, rotation y otras transformaciones).

CenterPoint

Punto sobre el que se gira y se escala el pincel.

Comment

Cadena que se va a asociar con CompositionObject.

(Heredado de CompositionObject)
Compositor

Compositor usado para crear este CompositionObject.

(Heredado de CompositionObject)
Dispatcher

Distribuidor del compositionObject.

(Heredado de CompositionObject)
DispatcherQueue

Obtiene dispatcherQueue para CompostionObject.

(Heredado de CompositionObject)
HorizontalAlignmentRatio

Controla el posicionamiento del eje vertical de contenido con respecto al eje vertical del SpriteVisual. El valor se fija de 0,0f a 1,0f con 0,0f que representa el borde vertical izquierdo y 1,0f que representa el borde vertical derecho del SpriteVisual.

ImplicitAnimations

Colección de animaciones implícitas adjuntas a este objeto.

(Heredado de CompositionObject)
Offset

Desplazamiento del pincel relativo a su SpriteVisual.

Properties

Colección de propiedades asociadas a CompositionObject.

(Heredado de CompositionObject)
RotationAngle

Ángulo de rotación, en radianes, del pincel.

RotationAngleInDegrees

Ángulo de rotación, en grados, del pincel.

Scale

Escala que se va a aplicar al pincel.

SnapToPixels

Obtiene o establece un valor que indica si el pincel de la superficie se alinea con píxeles.

Stretch

Controla el escalado que se aplica al contenido de ICompositionSurface con respecto al tamaño del SpriteVisual que se está pintando.

Surface

ICompositionSurface asociado con CompositionSurfaceBrush.

TransformMatrix

Matriz de transformación que se va a aplicar al pincel.

VerticalAlignmentRatio

Controla el posicionamiento del eje horizontal de contenido con respecto al eje horizontal del SpriteVisual. El valor se fija de 0,0f a 1,0f con 0,0f que representa el borde horizontal superior y 1,0f que representa el borde horizontal inferior del SpriteVisual. El valor predeterminado es 0,5f.

Métodos

Close()

Cierra compositionObject y libera los recursos del sistema.

(Heredado de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Conecta y animación.

(Heredado de CompositionObject)
DisconnectAnimation(String)

Desconecta una animación.

(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)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

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 le 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 animación.

(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