Freigeben über


CompositionSurfaceBrush Klasse

Definition

Zeichnet ein SpriteVisual mit Pixeln aus einem 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
Vererbung
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v2.0)

Beispiele

Zeichnen eines Bildobjekts auf einem 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;
}

Anwenden einer animation für eine benutzerdefinierte Skalierungstransformation auf eine 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;
} 

Hinweise

Die Stretch-Eigenschaft wird in Verbindung mit den Eigenschaften HorizontalAlignmentRatio und VerticalAlignmentRatio verwendet, um die Skalierung und Positionierung des CompositionSurfaceBrush-Inhalts anzugeben, wenn auf ein SpriteVisual gezeichnet wird.

CompositionSurfaceBrush verfügt außerdem über die folgenden Eigenschaften, die benutzerdefinierte Transformationen ermöglichen:

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • Skalieren
  • TransformMatrix

Die Reihenfolge der Transformationsvorgänge für eine CompositionSurfaceBrush lautet wie folgt:

  1. Der Inhalt der CompositionSurfaceBrush wird gestreckt und am SpriteVisual ausgerichtet (siehe Stretch-, HorizontalAlignmentRatio- und VerticalAlignmentRatio-Eigenschaften ).

  2. Alle anderen Transformationseigenschaften, die auf compositionSurfaceBrush festgelegt sind, werden angewendet.

    Benutzerdefinierte Transformationen, die auf eine CompositionSurfaceBrush angewendet werden, werden daher im Koordinatenraum des SpriteVisual ausgewertet, auf den der Pinsel gemalt wird. Wenn Sie beispielsweise einen Offset von Vector2(100, 0) festlegen, wird der gestreckte und ausgerichtete Inhalt des Pinsels um 100 Einheiten relativ zum linken Rand des SpriteVisuals , auf den er gezeichnet wird, um 100 Einheiten versetzt.

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1607 14393 AnchorPoint
1607 14393 CenterPoint
1607 14393 Offset
1607 14393 RotationAngle
1607 14393 RotationAngleInDegrees
1607 14393 Skalieren
1607 14393 TransformMatrix
1903 18362 SnapToPixels

Eigenschaften

AnchorPoint

Der Punkt auf dem Pinsel, der am Offset des Pinsels positioniert werden soll. Der Wert wird in Bezug auf die Größe des SpriteVisual normalisiert.

BitmapInterpolationMode

Gibt den Algorithmus an, der zum Interpolieren von Pixeln aus ICompositionSurface verwendet wird, wenn sie keine 1:1-Zuordnung zu Pixeln in SpriteVisual bilden (wie unter Stretch, Skalierung, Rotation und anderen Transformationen).

CenterPoint

Der Punkt, über den der Pinsel gedreht und skaliert wird.

Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
Compositor

Der Compositor , der zum Erstellen dieses CompositionObject verwendet wird.

(Geerbt von CompositionObject)
Dispatcher

Der Dispatcher für das CompositionObject.

(Geerbt von CompositionObject)
DispatcherQueue

Ruft den DispatcherQueue für das CompostionObject ab.

(Geerbt von CompositionObject)
HorizontalAlignmentRatio

Steuert die Positionierung der vertikalen Achse des Inhalts in Bezug auf die vertikale Achse des SpriteVisual. Der Wert wird von 0,0f auf 1,0f geklemmt, wobei 0,0f den linken vertikalen Rand und 1,0f den rechten vertikalen Rand des SpriteVisual darstellt.

ImplicitAnimations

Die Auflistung impliziter Animationen, die diesem Objekt angefügt sind.

(Geerbt von CompositionObject)
Offset

Der Offset des Pinsels relativ zu seinem SpriteVisual.

Properties

Die Auflistung von Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)
RotationAngle

Der Drehwinkel des Pinsels in Bogenmaß.

RotationAngleInDegrees

Der Drehwinkel des Pinsels in Grad.

Scale

Die Skala, die auf den Pinsel angewendet werden soll.

SnapToPixels

Ruft einen Wert ab, der angibt, ob der Oberflächenpinsel an Pixeln ausgerichtet ist, oder legt diesen fest.

Stretch

Steuert die Skalierung, die auf den Inhalt des ICompositionSurface in Bezug auf die Größe des spriteVisual angewendet wird, das gezeichnet wird.

Surface

Das ICompositionSurface, das dem CompositionSurfaceBrush zugeordnet ist.

TransformMatrix

Die Transformationsmatrix, die auf den Pinsel angewendet werden soll.

VerticalAlignmentRatio

Steuert die Positionierung der horizontalen Achse des Inhalts in Bezug auf die horizontale Achse des SpriteVisual. Der Wert wird von 0,0f auf 1,0f geklemmt, wobei 0,0f den oberen horizontalen Rand und 1,0f den unteren horizontalen Rand des SpriteVisual darstellt. Der Standardwert ist 0.5f.

Methoden

Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Verbindet und Animation.

(Geerbt von CompositionObject)
DisconnectAnimation(String)

Trennt eine Animation.

(Geerbt von CompositionObject)
Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Startet eine Animationsgruppe.

Mit der StartAnimationGroup-Methode für CompositionObject können Sie CompositionAnimationGroup starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet.

(Geerbt von CompositionObject)
StopAnimation(String)

Trennt eine Animation von der angegebenen Eigenschaft und beendet die Animation.

(Geerbt von CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Beendet eine Animationsgruppe.

(Geerbt von CompositionObject)
TryGetAnimationController(String)

Gibt einen AnimationController für die Animation zurück, die für die angegebene Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Gilt für:

Weitere Informationen