Condividi tramite


CompositionSurfaceBrush Classe

Definizione

Disegna un oggetto SpriteVisual con pixel da un oggetto 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
Ereditarietà
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Attributi

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 della scala personalizzata a 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, insieme alle proprietà HorizontalAlignmentRatio e VerticalAlignmentRatio, viene utilizzata per specificare la scala e il posizionamento del contenuto di CompositionSurfaceBrush quando viene disegnato su un oggetto SpriteVisual.

CompositionSurfaceBrush ha anche le proprietà seguenti che consentono trasformazioni personalizzate:

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • Scalabilità
  • TransformMatrix

L'ordine delle operazioni di trasformazione in 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 in CompositionSurfaceBrush.

    Le trasformazioni personalizzate applicate a compositionSurfaceBrush vengono quindi valutate nello spazio delle coordinate dello SpriteVisual su cui viene disegnato il pennello. Ad esempio, l'impostazione di un offset di Vector2(100, 0) sfalsa il contenuto del pennello esteso e allineato di 100 unità a destra rispetto al bordo sinistro dello SpriteVisual su cui viene disegnato.

Proprietà

AnchorPoint

Punto del pennello da posizionare in corrispondenza dell'offset del pennello. Il valore viene normalizzato rispetto alle dimensioni di SpriteVisual.

BitmapInterpolationMode

Specifica l'algoritmo usato per l'interpolazione di pixel da ICompositionSurface quando non formano un mapping uno-a-uno ai pixel in SpriteVisual (come può accadere in stretch, scale, rotation e altre trasformazioni).

CenterPoint

Punto su cui viene ruotato e ridimensionato il pennello.

Comment

Stringa da associare a CompositionObject.

(Ereditato da CompositionObject)
Compositor

Compositor utilizzato per creare questo CompositionObject.

(Ereditato da CompositionObject)
DispatcherQueue

Ottiene dispatcherQueue per CompositionObject.

(Ereditato da CompositionObject)
HorizontalAlignmentRatio

Controlla il posizionamento dell'asse verticale del contenuto rispetto all'asse verticale dello SpriteVisual. Il valore è 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 dello SpriteVisual.

ImplicitAnimations

Raccolta di animazioni implicite associate a questo oggetto.

(Ereditato da CompositionObject)
Offset

Offset del pennello rispetto 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 della superficie è allineato ai pixel.

Stretch

Controlla il ridimensionamento applicato al contenuto di ICompositionSurface rispetto alle dimensioni dello SpriteVisual da disegnare.

Surface

ICompositionSurface associato a CompositionSurfaceBrush.

TransformMatrix

Matrice di trasformazione da applicare al pennello.

VerticalAlignmentRatio

Controlla il posizionamento dell'asse orizzontale del contenuto rispetto all'asse orizzontale dello SpriteVisual. Il valore è 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 CompositionObject e rilascia le risorse di sistema.

(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 nel 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 sulla proprietà specificata.

(Ereditato da CompositionObject)

Si applica a

Vedi anche