Bit Eşlem Efektlerine Genel Bakış
Bit eşlem efektleri, tasarımcıların ve geliştiricilerin, işlenmiş Windows Presentation Foundation (WPF) içeriğine görsel etkiler uygulamasına olanak tanır. Örneğin, bit eşlem efektleri bir DropShadowBitmapEffect görüntüye veya düğmeye kolayca efekt veya bulanıklaştırma efekti uygulamanıza olanak tanır.
Önemli
.NET Framework 4 veya sonraki sürümlerde, BitmapEffect sınıf artık kullanılmıyor. Sınıfını kullanmaya çalışırsanız BitmapEffect , eski bir özel durum alırsınız. Sınıfın kullanımdan kalkmamış alternatifi sınıfı BitmapEffect Effect . Çoğu durumda, Effect sınıfı önemli ölçüde daha hızlıdır.
WPF bit eşlem efektleri
Bit eşlem efektleri ( BitmapEffect nesne) basit piksel işleme işlemleridir. Bit eşlem efekti bir BitmapSource giriş olarak alır ve bir BitmapSource bulanıklaştırma ya da gölge gibi Efekti uyguladıktan sonra yeni bir oluşturur. Her bit eşlem efekti, gibi filtreleme özelliklerini denetleyebilen özellikleri sunar Radius BlurBitmapEffect .
Özel bir durum olarak, içinde WPF efektler, veya gibi canlı nesnelerde özellikler olarak ayarlanabilir Visual Button TextBox . Piksel işleme, çalışma zamanında uygulanır ve işlenir. Bu durumda, oluşturma sırasında bir Visual otomatik olarak BitmapSource eşdeğerine dönüştürülür ve öğesine giriş olarak aktarılır BitmapEffect . Çıktı, Visual nesnenin varsayılan işleme davranışının yerini alır. Bu, BitmapEffect nesnelerin görselleri yalnızca yazılımda işlemesini zorlamasına neden olur, ancak efektler uygulandığında görsellerde donanım ivmesi yoktur.
BlurBitmapEffect odak dışı görünen bir nesnenin benzetimini yapar.
OuterGlowBitmapEffect bir nesnenin çevresi etrafında bir renk Halo oluşturur.
DropShadowBitmapEffect bir nesnenin arkasında gölge oluşturur.
BevelBitmapEffect bir görüntünün yüzeyini belirtilen eğriye göre Başlatan bir eğim oluşturur.
EmbossBitmapEffectVisualyapay ışık kaynağından derinlik ve doku izlenimi vermek için bir ' ın bir kabartma eşlemesi oluşturur.
Not
WPF bit eşlem efektleri yazılım modunda işlenir. Bir efekt uygulayan herhangi bir nesne yazılımda da işlenir. Büyük görseller üzerinde bit eşlem efektleri kullanırken veya bir bit eşlem efektinin özellikleri canlandırdığınızda, performans en çok düşer. Bu, bit eşlem efektlerini bu şekilde bu şekilde kullanmamalısınız, ancak kullanıcılarınızın bekledikleri deneyimi aldığından emin olmak için dikkatli ve test etmeniz gerekir.
Not
WPF bit eşlem efektleri kısmi güven yürütmeyi desteklemez. Bir uygulamanın bit eşlem efektlerini kullanmak için tam güven izinleri olmalıdır.
Efekt uygulama
BitmapEffect , üzerindeki bir özelliktir Visual . Bu nedenle,,, veya gibi görsellere efekt uygulamak, bir Button Image DrawingVisual UIElement özelliği ayarlamak kadar kolaydır. BitmapEffect , tek bir BitmapEffect nesneye ayarlanabilir veya birden çok efekt nesnesi kullanılarak zincirleme yapılabilir BitmapEffectGroup .
Aşağıdaki örnek, içinde nasıl uygulanacağını gösterir BitmapEffect Extensible Application Markup Language (XAML) .
<Button Width="200">You Can't Read This!
<Button.BitmapEffect>
<!-- <BitmapEffectGroup> would go here if you wanted to apply more
then one effect to the Button. However, in this example only
one effect is being applied so BitmapEffectGroup does not need
to be included. -->
<!-- The larger the Radius, the more blurring. The default range is 20.
In addition, the KernelType is set to a box kernel. A box kernel
creates less disruption (less blur) then the default Gaussian kernel. -->
<BlurBitmapEffect Radius="10" KernelType="Box" />
</Button.BitmapEffect>
</Button>
Aşağıdaki örnek, bir kod içinde nasıl uygulanacağını gösterir BitmapEffect .
// Get a reference to the Button.
Button myButton = (Button)sender;
// Initialize a new BlurBitmapEffect that will be applied
// to the Button.
BlurBitmapEffect myBlurEffect = new BlurBitmapEffect();
// Set the Radius property of the blur. This determines how
// blurry the effect will be. The larger the radius, the more
// blurring.
myBlurEffect.Radius = 10;
// Set the KernelType property of the blur. A KernalType of "Box"
// creates less blur than the Gaussian kernal type.
myBlurEffect.KernelType = KernelType.Box;
// Apply the bitmap effect to the Button.
myButton.BitmapEffect = myBlurEffect;
Not
Veya gibi bir BitmapEffect Düzen kapsayıcısına uygulandığında, DockPanel efekt, Canvas onun tüm alt öğeleri dahil olmak üzere, öğe veya görselin görsel ağacına uygulanır.
Özel etkiler oluşturma
WPF, yönetilen WPF uygulamalarında kullanılabilecek özel etkiler oluşturmak için yönetilmeyen arabirimler de sağlar. Özel bit eşlem efektleri oluşturmaya yönelik ek başvuru malzemeleri için, YÖNETILMEYEN WPF bit eşlem efekti belgelerine bakın.