CompositionEffectBrush Kelas

Definisi

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

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

Persyaratan Windows

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

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 kejenuhan 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 di namespace Layanan Microsoft.Graphics.Canvas.Effects .

Catatan

Efek yang tidak didukung ditandai sebagai [NoComposition] di Referensi API Win2D untuk namespace 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.

CompositionEffectBrush.Properties (diwarisi dari CompositionObject.Properties) memungkinkan pengaturan atau menganimasikan properti yang dapat dianimasikan 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. Bayangan 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.Graphics.Canvas.Effects, untuk jenis efek yang valid.
  2. Atur sumber efek apa pun dengan instans CompositionEffectSourceParameter atau efek lain. Menentukan efek lain menciptakan 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 CompositionEffectBrush. 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

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

Kumpulan animasi implisit yang melekat pada obyek ini.

(Diperoleh dari CompositionObject)
Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)

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)
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 CompositionEffectSourceParameter ke sumber efek.

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