Přehled efektů bitmap
Rastrové efekty umožňují návrhářům a vývojářům použít vizuální efekty na vykreslený obsah WPF (Windows Presentation Foundation). Například rastrové efekty umožňují snadno použít DropShadowBitmapEffect efekt nebo rozostřit efekt na obrázek nebo tlačítko.
Důležité
V rozhraní .NET Framework 4 nebo novější BitmapEffect je třída zastaralá. Pokud se pokusíte použít BitmapEffect třídu, zobrazí se zastaralá výjimka. Zastaralá alternativa ke BitmapEffect třídě je Effect třída. Ve většině situací Effect je třída výrazně rychlejší.
Bitmapové efekty WPF
Rastrové efekty (BitmapEffect objekt) jsou jednoduché operace zpracování pixelů. Rastrový efekt použije BitmapSource jako vstup a vytvoří nový BitmapSource po použití efektu, například rozostření nebo stínu. Každý rastrový efekt zveřejňuje vlastnosti, které mohou řídit vlastnosti filtrování, například Radius .BlurBitmapEffect
Jako zvláštní případ lze v WPF nastavit efekty jako vlastnosti u živých Visual objektů, jako je například a Button nebo TextBox. Zpracování pixelů se použije a vykreslí za běhu. V tomto případě je v době vykreslování Visual automaticky převeden na jeho BitmapSource ekvivalent a je předán jako vstup do BitmapEffect. Výstup nahrazuje výchozí chování objektu Visual při vykreslování. To je důvod, proč BitmapEffect objekty při použití efektů vynucují vykreslování vizuálů pouze v softwaru, tj. žádná hardwarová akcelerace u vizuálů.
BlurBitmapEffect simuluje objekt, který se zobrazuje mimo fokus.
OuterGlowBitmapEffect vytvoří halómu barvy kolem obvodu objektu.
DropShadowBitmapEffect vytvoří stín za objektem.
BevelBitmapEffect vytvoří zkosení, které zvedne povrch obrázku podle zadané křivky.
EmbossBitmapEffect vytvoří mapování nárazu, Visual které dává dojem hloubky a textury z umělého zdroje světla.
Poznámka:
Rastrové efekty WPF se vykreslují v softwarovém režimu. Všechny objekty, které použijí efekt, se také vykreslí v softwaru. Při použití rastrových efektů u velkých vizuálů nebo animování vlastností rastrového efektu je výkon nejvíce snížený. To není říct, že byste neměli používat bitmapové efekty tímto způsobem vůbec, ale měli byste používat opatrnosti a důkladně testovat, aby vaši uživatelé získali očekávané prostředí.
Poznámka:
Rastrové efekty WPF nepodporují provádění částečné důvěryhodnosti. Aby aplikace používala rastrové efekty, musí mít úplná oprávnění důvěryhodnosti.
Jak použít efekt
BitmapEffectje vlastnost .Visual Proto použití efektů u vizuálů, jako Buttonje například , Image, DrawingVisualnebo UIElement, je stejně snadné jako nastavení vlastnosti. BitmapEffect lze nastavit na jeden BitmapEffect objekt nebo více efektů lze zřetězený pomocí objektu BitmapEffectGroup .
Následující příklad ukazuje, jak použít BitmapEffect jazyk XAML (Extensible Application Markup Language).
<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>
Následující příklad ukazuje, jak použít BitmapEffect v kódu.
// 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;
Poznámka:
BitmapEffect Pokud se použije u kontejneru rozložení, například DockPanel nebo Canvas, efekt se použije na vizuální strom prvku nebo vizuálu, včetně všech jeho podřízených prvků.
Vytváření vlastních efektů
WPF také poskytuje nespravovaná rozhraní pro vytváření vlastních efektů, které lze použít ve spravovaných aplikacích WPF. Další referenční materiály pro vytváření vlastních rastrových efektů naleznete v dokumentaci k nespravovanému wpf bitmap efektu .
Viz také
.NET Desktop feedback