Bagikan melalui


CompositionSurfaceBrush Kelas

Definisi

Mengecat SpriteVisual dengan piksel dari 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
Warisan
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionSurfaceBrush
Atribut

Contoh

Menggambar aset gambar ke 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;
}

Menerapkan animasi transformasi skala kustom ke 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;
} 

Keterangan

Properti Stretch, bersama dengan properti HorizontalAlignmentRatio dan VerticalAlignmentRatio, digunakan untuk menentukan skala dan posisi konten CompositionSurfaceBrush ketika dicat ke SpriteVisual.

CompositionSurfaceBrush juga memiliki properti berikut yang memungkinkan transformasi kustom:

  • AnchorPoint
  • CenterPoint
  • Offset
  • RotationAngle
  • RotationAngleInDegrees
  • Skala
  • TransformMatrix

Urutan operasi transformasi pada CompositionSurfaceBrush adalah sebagai berikut:

  1. Konten KomposisiSurfaceBrush direntangkan dan diselaraskan ke properti SpriteVisual (lihat Properti Stretch, HorizontalAlignmentRatio, dan VerticalAlignmentRatio ).

  2. Properti transformasi lain yang diatur pada CompositionSurfaceBrush diterapkan.

    Transformasi kustom yang diterapkan pada KomposisiSurfaceBrush oleh karena itu dievaluasi di ruang koordinat SpriteVisual bahwa kuas dicat ke dalamnya. Misalnya, mengatur Offset Vector2(100, 0) mengimbangi konten kuas yang direntangkan dan selaras dengan 100 unit ke kanan relatif terhadap tepi kiri SpriteVisual yang dicat ke atas.

Properti

AnchorPoint

Titik pada kuas yang akan diposisikan pada offset kuas. Nilai dinormalisasi sehubungan dengan ukuran SpriteVisual.

BitmapInterpolationMode

Menentukan algoritma yang digunakan untuk menginterpolasi piksel dari ICompositionSurface ketika tidak membentuk pemetaan satu-ke-satu ke piksel pada SpriteVisual (seperti yang dapat terjadi di bawah peregangan, skala, rotasi, dan transformasi lainnya).

CenterPoint

Titik di mana kuas diputar dan diskalakan.

Comment

String yang akan dikaitkan dengan CompositionObject.

(Diperoleh dari CompositionObject)
Compositor

Compositor digunakan untuk membuat CompositionObject ini.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompositionObject.

(Diperoleh dari CompositionObject)
HorizontalAlignmentRatio

Mengontrol pemosisian sumbu vertikal konten sehubungan dengan sumbu vertikal SpriteVisual. Nilai dijepit dari 0,0f hingga 1,0f dengan 0,0f mewakili tepi vertikal kiri dan 1,0f mewakili tepi vertikal kanan SpriteVisual.

ImplicitAnimations

Kumpulan animasi implisit yang melekat pada obyek ini.

(Diperoleh dari CompositionObject)
Offset

Offset kuas relatif terhadap SpriteVisual-nya.

Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)
RotationAngle

Sudut rotasi, dalam radian, kuas.

RotationAngleInDegrees

Sudut rotasi, dalam derajat, dari kuas.

Scale

Skala yang akan diterapkan ke kuas.

SnapToPixels

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kuas permukaan selaras dengan piksel.

Stretch

Mengontrol penskalaan yang diterapkan ke konten ICompositionSurface sehubungan dengan ukuran SpriteVisual yang sedang dicat.

Surface

ICompositionSurface yang terkait dengan KomposisiSurfaceBrush.

TransformMatrix

Matriks transformasi untuk diterapkan ke kuas.

VerticalAlignmentRatio

Mengontrol penempatan sumbu horizontal konten sehubungan dengan sumbu horizontal SpriteVisual. Nilai dijepit dari 0,0f hingga 1,0f dengan 0,0f mewakili tepi horizontal atas dan 1,0f mewakili tepi horizontal bawah SpriteVisual. Nilai defaultnya adalah 0,5f.

Metode

Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

(Diperoleh dari CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Memulai grup animasi.

Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai CompositionAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek.

(Diperoleh dari CompositionObject)
StopAnimation(String)

Memutuskan sambungan animasi dari properti yang ditentukan dan menghentikan animasi.

(Diperoleh dari CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Menghentikan grup animasi.

(Diperoleh dari CompositionObject)
TryGetAnimationController(String)

Mengembalikan AnimationController untuk animasi yang berjalan pada properti yang ditentukan.

(Diperoleh dari CompositionObject)

Berlaku untuk

Lihat juga