CompositionSurfaceBrush Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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:
Der Inhalt von CompositionSurfaceBrush wird gestreckt und am SpriteVisual ausgerichtet (siehe Die Eigenschaften Stretch, HorizontalAlignmentRatio und VerticalAlignmentRatio ).
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, 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) |