Condividi tramite


CompositionSurfaceBrush Classe

Definizione

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à
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
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:

  1. Il contenuto di CompositionSurfaceBrush è esteso e allineato alle proprietà SpriteVisual (vedere Stretch, HorizontalAlignmentRatio e VerticalAlignmentRatio).

  2. 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)

Si applica a

Vedi anche