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 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
- 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:
Der Inhalt der CompositionSurfaceBrush wird gestreckt und am SpriteVisual ausgerichtet (siehe Stretch-, HorizontalAlignmentRatio- und VerticalAlignmentRatio-Eigenschaften ).
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) |