CompositionSurfaceBrush Kelas

Definisi

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

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v2.0)

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 KomposisiSurfaceBrush

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 KomposisiSurfaceBrush ketika dicat ke SpriteVisual.

CompositionSurfaceBrush juga memiliki properti berikut yang memungkinkan transformasi kustom:

  • AnchorPoint
  • Titik Tengah
  • 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 lainnya yang diatur pada KomposisiSurfaceBrush diterapkan.

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

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1607 14393 AnchorPoint
1607 14393 Titik Tengah
1607 14393 Offset
1607 14393 RotationAngle
1607 14393 RotationAngleInDegrees
1607 14393 Skala
1607 14393 TransformMatrix
1903 18362 SnapToPixels

Properti

AnchorPoint

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

BitmapInterpolationMode

Menentukan algoritma yang digunakan untuk menginterpolasi piksel dari ICompositionSurface ketika mereka 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)
Dispatcher

Dispatcher untuk CompositionObject.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompostionObject.

(Diperoleh dari CompositionObject)
HorizontalAlignmentRatio

Mengontrol penempatan 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 objek 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, dari kuas.

RotationAngleInDegrees

Sudut rotasi, dalam derajat, dari sikat.

Scale

Skala yang akan diterapkan pada 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 dilukis.

Surface

ICompositionSurface yang terkait dengan KomposisiSurfaceBrush.

TransformMatrix

Matriks transformasi untuk diterapkan pada 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)
ConnectAnimation(String, CompositionAnimation)

Menyambungkan dan animasi.

(Diperoleh dari CompositionObject)
DisconnectAnimation(String)

Memutuskan sambungan animasi.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

(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 KomposisiAnimationGroup. 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