CompositionSurfaceBrush Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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:
El contenido de CompositionSurfaceBrush se ajusta y alinea con las propiedades SpriteVisual (vea Stretch, HorizontalAlignmentRatio y VerticalAlignmentRatio ).
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, 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 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) |