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 efektler uygulamasına olanak tanır. Örneğin bit eşlem efektleri, bir DropShadowBitmapEffect resme veya düğmeye kolayca efekt veya bulanıklaştırma efekti uygulamanıza olanak sağlar.
Önemli
.NET Framework 4 veya sonraki BitmapEffect sürümlerinde sınıf kullanım dışıdır. sınıfını BitmapEffect kullanmaya çalışırsanız, eski bir özel durum alırsınız. Sınıfın eski olmayan alternatifi BitmapEffect sınıfıdır Effect . Çoğu durumda sınıf Effect ö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 giriş olarak alır BitmapSource ve efekti uyguladıktan sonra bulanıklaştırma veya gölge gibi yeni BitmapSource bir efekt üretir. Her bit eşlem efekti, gibi RadiusBlurBitmapEffectfiltreleme özelliklerini denetleyebilen özellikleri kullanıma sunar.
Özel bir durum olarak WPF'de efektler, veya TextBoxgibi canlı Visual nesneler üzerinde özellikler olarak Button ayarlanabilir. Piksel işleme, çalışma zamanında uygulanır ve işlenir. Bu durumda, işleme sırasında, bir Visual otomatik olarak eşdeğerine BitmapSource dönüştürülür ve giriş BitmapEffectolarak besler. Çıkış, nesnenin Visual varsayılan işleme davranışının yerini alır. Bu nedenle BitmapEffect nesneler görselleri yalnızca yazılımlarda işlemeye zorlar; yani efektler uygulandığında görsellerde donanım hızlandırması yoktur.
BlurBitmapEffect odak dışında görünen bir nesnenin simülasyonunu oluşturur.
OuterGlowBitmapEffect nesnenin çevresi çevresinde renk halo'sunu oluşturur.
DropShadowBitmapEffect nesnenin arkasında bir gölge oluşturur.
BevelBitmapEffect bir görüntünün yüzeyini belirtilen eğriye göre yükselten bir eğim oluşturur.
EmbossBitmapEffect yapay bir ışık kaynağından derinlik ve doku izlenimi vermek için bir Visual darbe eşlemesi oluşturur.
Dekont
WPF bit eşlem efektleri yazılım modunda işlenir. Bir etki uygulayan tüm nesneler de yazılımda işlenir. Büyük görsellerde Bit Eşlem efektleri kullanılırken veya Bir Bit Eşlem efektinin özellikleri animasyonu oluşturulurken performans en çok düşer. Bu, Bit Eşlem efektlerini bu şekilde kullanmamanızı söylemek değildir, ancak kullanıcılarınızın beklediğiniz deneyimi elde etmelerini sağlamak için dikkatli olmalı ve kapsamlı bir şekilde test etmelisiniz.
Dekont
WPF bit eşlem efektleri kısmi güven yürütmeyi desteklemez. Bir uygulamanın bit eşlem efektlerini kullanabilmesi için tam güven izinlerine sahip olması gerekir.
Efekt Uygulama
BitmapEffect üzerindeki Visualbir özelliktir. Bu nedenle, Görsellere , Image, DrawingVisualveya UIElementgibi Buttonefektler uygulamak, özellik ayarlamak kadar kolaydır. BitmapEffect tek BitmapEffect bir nesneye ayarlanabilir veya nesne kullanılarak BitmapEffectGroup birden çok efekt zincirlenebilir.
Aşağıdaki örnek, Genişletilebilir Uygulama Biçimlendirme Dili'nde (XAML) nasıl uygulanacağını BitmapEffect gösterir.
<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 örnekte kodda uygulama BitmapEffect gösterilmektedir.
// 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;
Dekont
BitmapEffect veya gibi DockPanelCanvasbir düzen kapsayıcısına uygulandığında, efekt tüm alt öğeleri dahil olmak üzere öğenin veya görselin görsel ağacına uygulanır.
Özel Efektler Oluşturma
WPF ayrıca yönetilen WPF uygulamalarında kullanılabilecek özel efektler oluşturmak için yönetilmeyen arabirimler 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.
Ayrıca bkz.
.NET Desktop feedback