CompositionSurfaceBrush Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Disegna uno SpriteVisual con pixel da un oggetto 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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v2.0)
|
Esempio
Disegnare un asset di immagine in uno 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;
}
Applicare un'animazione di trasformazione di scalabilità personalizzata a un oggetto 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;
}
Commenti
La proprietà Stretch, in combinazione con le proprietà HorizontalAlignmentRatio e VerticalAlignmentRatio, viene utilizzata per specificare la scala e la posizione del contenuto di CompositionSurfaceBrush quando viene dipinta su uno SpriteVisual.
CompositionSurfaceBrush include anche le proprietà seguenti che consentono trasformazioni personalizzate:
- AnchorPoint
- CenterPoint
- Offset
- RotationAngle
- RotationAngleInDegrees
- Scalabilità
- TransformMatrix
L'ordine delle operazioni di trasformazione in un oggetto CompositionSurfaceBrush è il seguente:
Il contenuto di CompositionSurfaceBrush è esteso e allineato alle proprietà SpriteVisual (vedere Stretch, HorizontalAlignmentRatio e VerticalAlignmentRatio).
Vengono applicate tutte le altre proprietà di trasformazione impostate su CompositionSurfaceBrush.
Le trasformazioni personalizzate applicate a un oggetto CompositionSurfaceBrush vengono pertanto valutate nello spazio di coordinate di SpriteVisual su cui viene dipinto il pennello. Ad esempio, l'impostazione di un offset di Vector2(100, 0) offset il contenuto esteso e allineato del pennello in base a 100 unità a destra rispetto al bordo sinistro dello SpriteVisual su cui viene dipinto.
Cronologia delle versioni
Versione di Windows | Versione dell'SDK | Valore aggiunto |
---|---|---|
1607 | 14393 | AnchorPoint |
1607 | 14393 | CenterPoint |
1607 | 14393 | Offset |
1607 | 14393 | RotationAngle |
1607 | 14393 | RotationAngleInDegrees |
1607 | 14393 | Scalabilità |
1607 | 14393 | TransformMatrix |
1903 | 18362 | SnapToPixels |
Proprietà
AnchorPoint |
Punto del pennello da posizionare all'offset del pennello. Il valore è normalizzato rispetto alle dimensioni di SpriteVisual. |
BitmapInterpolationMode |
Specifica l'algoritmo usato per l'interpolazione dei pixel da ICompositionSurface quando non formano un mapping uno a uno ai pixel in SpriteVisual (come può verificarsi sotto estensione, scala, rotazione e altre trasformazioni). |
CenterPoint |
Punto su cui il pennello viene ruotato e ridimensionato. |
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositore usato per creare questo oggetto CompositionObject. (Ereditato da CompositionObject) |
Dispatcher |
Dispatcher per CompositionObject. (Ereditato da CompositionObject) |
DispatcherQueue |
Ottiene dispatcherQueue per CompostionObject. (Ereditato da CompositionObject) |
HorizontalAlignmentRatio |
Controlla la posizione dell'asse verticale del contenuto rispetto all'asse verticale dello SpriteVisual. Il valore viene bloccato da 0,0f a 1,0f con 0,0f che rappresenta il bordo verticale sinistro e 1.0f che rappresenta il bordo verticale destro di SpriteVisual. |
ImplicitAnimations |
Raccolta di animazioni implicite associate a questo oggetto. (Ereditato da CompositionObject) |
Offset |
Offset del pennello relativo al relativo SpriteVisual. |
Properties |
Raccolta di proprietà associate a CompositionObject. (Ereditato da CompositionObject) |
RotationAngle |
Angolo di rotazione, in radianti, del pennello. |
RotationAngleInDegrees |
Angolo di rotazione, in gradi, del pennello. |
Scale |
Scala da applicare al pennello. |
SnapToPixels |
Ottiene o imposta un valore che indica se il pennello di superficie è allineato ai pixel. |
Stretch |
Controlla il ridimensionamento applicato al contenuto di ICompositionSurface rispetto alle dimensioni dell'oggetto SpriteVisual che viene dipinto. |
Surface |
ICompositionSurface associato a CompositionSurfaceBrush. |
TransformMatrix |
Matrice di trasformazione da applicare al pennello. |
VerticalAlignmentRatio |
Controlla la posizione dell'asse orizzontale del contenuto rispetto all'asse orizzontale dello SpriteVisual. Il valore viene bloccato da 0,0f a 1,0f con 0,0f che rappresenta il bordo orizzontale superiore e 1,0f che rappresenta il bordo orizzontale inferiore dello SpriteVisual. Il valore predefinito è 0,5f. |
Metodi
Close() |
Chiude l'oggetto CompositionObject e rilascia le risorse di sistema. (Ereditato da CompositionObject) |
ConnectAnimation(String, CompositionAnimation) |
Connette e animazione. (Ereditato da CompositionObject) |
DisconnectAnimation(String) |
Disconnette un'animazione. (Ereditato da CompositionObject) |
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. (Ereditato da CompositionObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Definisce una proprietà che può essere animata. (Ereditato da CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Avvia un gruppo di animazioni. Il metodo StartAnimationGroup in CompositionObject consente di avviare CompositionAnimationGroup. Tutte le animazioni del gruppo verranno avviate contemporaneamente sull'oggetto. (Ereditato da CompositionObject) |
StopAnimation(String) |
Disconnette un'animazione dalla proprietà specificata e arresta l'animazione. (Ereditato da CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Arresta un gruppo di animazioni. (Ereditato da CompositionObject) |
TryGetAnimationController(String) |
Restituisce un oggetto AnimationController per l'animazione in esecuzione nella proprietà specificata. (Ereditato da CompositionObject) |