Freigeben über


CompositionSurfaceBrush Klasse

Definition

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

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 einen 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 er auf eine 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 auf einem CompositionSurfaceBrush lautet wie folgt:

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

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

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

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 bei Stretch, Skalierung, Drehung und anderen Transformationen).

CenterPoint

Der Punkt, an dem 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)
DispatcherQueue

Ruft die DispatcherQueue für das CompositionObject ab.

(Geerbt von CompositionObject)
HorizontalAlignmentRatio

Steuert die Positionierung der vertikalen Achse des Inhalts in Bezug auf die vertikale Achse von 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 an dieses Objekt angefügt sind.

(Geerbt von CompositionObject)
Offset

Der Offset des Pinsels relativ zu seinem SpriteVisual.

Properties

Die Auflistung der Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)
RotationAngle

Der Drehwinkel des Pinsels im Bogenmaß.

RotationAngleInDegrees

Der Drehwinkel des Pinsels in Grad.

Scale

Die Skalierung, die auf den Pinsel angewendet werden soll.

SnapToPixels

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

Stretch

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

Surface

Die ICompositionSurface , die 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 von 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)
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)

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

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

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