CompositionSurfaceBrush Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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:
Konten KomposisiSurfaceBrush direntangkan dan diselaraskan ke properti SpriteVisual (lihat Properti Stretch, HorizontalAlignmentRatio, dan VerticalAlignmentRatio ).
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, AnimationController) |
Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi. (Diperoleh dari CompositionObject) |
StartAnimation(String, CompositionAnimation) |
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) |