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.
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
- 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:
Konten KomposisiSurfaceBrush direntangkan dan diselaraskan ke properti SpriteVisual (lihat Properti Stretch, HorizontalAlignmentRatio, dan VerticalAlignmentRatio ).
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk