Bahasa

CompositionEffectBrush Kelas

Definisi

Melukis SpriteVisual dengan output efek filter. Deskripsi efek filter didefinisikan menggunakan kelas CompositionEffectFactory .

public ref class CompositionEffectBrush 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 CompositionEffectBrush 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 CompositionEffectBrush 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 CompositionEffectBrush : 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 CompositionEffectBrush : CompositionBrush
Public NotInheritable Class CompositionEffectBrush
Inherits CompositionBrush
Warisan
Object Platform::Object IInspectable CompositionObject CompositionBrush CompositionEffectBrush
Atribut

Contoh

// Create an effect description 
GaussianBlurEffect blurEffect = new GaussianBlurEffect() 
{ 
    Name = "Blur", 
    BlurAmount = 1.0f, 
    BorderMode = EffectBorderMode.Hard, 
    Optimization = EffectOptimization.Balanced 
}; 

blurEffect.Source = new CompositionEffectSourceParameter("source"); 

CompositionEffectFactory blurEffectFactory = _compositor.CreateEffectFactory(blurEffect); 
CompositionEffectBrush blurBrush = blurEffectFactory.CreateBrush(); 
// Create a BackdropBrush and bind it to the EffectSourceParameter “source” 
CompositionBackdropBrush backdropBrush = _compositor.CreateBackdropBrush(); 
blurBrush.SetSourceParameter("source", backdropBrush); 

// The SpriteVisual to apply the blur BackdropBrush to 
// This will cause everything behind this SpriteVisual to be blurred 
SpriteVisual blurSprite = _compositor.CreateSpriteVisual(); 
blurSprite.Brush = blurBrush; 

// Set blurSprite as a child visual of a XAML element 
ElementCompositionPreview.SetElementChildVisual(blurArea, blurSprite); 

Keterangan

API efek memungkinkan pengembang untuk menyesuaikan bagaimana UI mereka dirender. Ini bisa menjadi sesuatu yang sederhana seperti menyesuaikan tingkat saturasi pada gambar atau sesuatu yang lebih kompleks seperti menautkan banyak efek bersama-sama dan menjiwai properti efek untuk menciptakan transisi aplikasi yang menarik dan pengalaman pengguna. Efek komposisi adalah grafik operasi yang menentukan cara menghasilkan konten grafis berdasarkan permukaan komposisi. Misalnya, konten piksel gambar. Efek diterapkan ke visual di pohon dan dapat mereferensikan permukaan yang ada.

Instans CompositionEffectBrush dibuat menggunakan CompositionEffectFactory berdasarkan deskripsi efek yang ditentukan. CompositionEffectFactory menggunakan format deskripsi efek Win2D dalam Microsoft. Namespace graphics.Canvas.Effects (SDK Aplikasi Windows (WinUI 3) / UWP (WinUI 2)).

Note

Efek yang tidak didukung ditandai sebagai [NoComposition] di Referensi API Win2D untuk namespace layanan efek.

KomposisiEffectBrush diterapkan pada SpriteVisual di pohon komposisi.

Sumber ke KomposisiEffectBrush dapat menjadi permukaan atau tekstur yang ada, atau efek lain yang memungkinkan penautan efek.

KomposisiEffectBrush.Properties (diwarisi dari CompositionObject.Properties) memungkinkan pengaturan atau menganimasikan properti animatable yang ditentukan dalam panggilan ke Compositor. CreateEffectFactory menggunakan nama lengkap 'EffectName.PropertyName'.

Sumber efek dapat diatur secara independen dari instans CompositionEffectBrush lainnya, dan properti dapat dianimasikan secara independen dari instans CompositionEffectBrush lainnya.

Setelah grafik efek dideklarasikan, sistem mengkompilasi efek menggunakan shader bawaan. Shader kustom tidak dapat ditentukan.

Membuat KomposisiEffect

Untuk membuat dan menerapkan efek, Anda perlu melakukan langkah-langkah berikut:

  1. Membuat deskripsi efek. Lihat namespace Win2D, Microsoft. Namespace graphics.Canvas.Effects (SDK Aplikasi Windows (WinUI 3) / UWP (WinUI 2)), untuk jenis efek yang valid.
  2. Atur sumber efek apa pun dengan instans CompositionEffectSourceParameter atau efek lain. Menentukan efek lain membuat rantai efek.
  3. Buat CompositionEffectFactory dengan Compositor. CreateEffectFactory menggunakan deskripsi efek sebagai input.
  4. Buat instans efek menggunakan CompositorEffectFactory. CreateBrush.
  5. Atur KomposisiEffectSourceParameter apa pun menggunakan KomposisiEffectBrush. SetSourceParameter dan nama parameter sumber seperti yang ditentukan sebelumnya menggunakan CompositionEffectSourceParameter.
  6. Buat instans SpriteVisual menggunakan Compositor. CreateSpriteVisual.
  7. Atur properti Brush dari SpriteVisual ke efek yang dibuat.
  8. Tambahkan SpriteVisual ke pohon komposisi dengan menggunakan properti Anak dari ContainerVisual.

Properti

Nama Deskripsi
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)
ImplicitAnimations

Kumpulan animasi implisit yang melekat pada objek ini.

(Diperoleh dari CompositionObject)
Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)

Metode

Nama Deskripsi
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)
GetSourceParameter(String)

Mengambil CompositionBrush yang terkait dengan nama CompositionEffectSourceParameter tertentu.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
SetSourceParameter(String, CompositionBrush)

Mengaitkan nama yang dideklarasikan menggunakan KomposisiEffectSourceParameter ke sumber efek.

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 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