Compartir a través de


CompositionSurfaceBrush Clase

Definición

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

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 (consulte las propiedades 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, al establecer un desplazamiento de Vector2(100, 0), se desplaza el contenido extendido y alineado del pincel en 100 unidades a la derecha en relación con el borde izquierdo del SpriteVisual en el que se pinta.

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 extensión, escala, rotación 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 que se usa para crear este CompositionObject.

(Heredado de CompositionObject)
DispatcherQueue

Obtiene dispatcherQueue para compositionObject.

(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 con respecto 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 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 a 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)
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, AnimationController)

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

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

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 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 animaciones.

(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