Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Efekty mapy bitowej umożliwiają projektantom i deweloperom stosowanie efektów wizualnych do renderowanej zawartości programu Windows Presentation Foundation (WPF). Na przykład efekty mapy bitowej umożliwiają łatwe stosowanie DropShadowBitmapEffect efektu lub efektu rozmycia do obrazu lub przycisku.
Ważne
W programie .NET Framework 4 lub nowszym klasa BitmapEffect jest przestarzała. Jeśli spróbujesz użyć klasy BitmapEffect, otrzymasz przestarzały wyjątek. Nie przestarzałą alternatywą dla klasy BitmapEffect jest klasa Effect. W większości przypadków klasa Effect jest znacznie szybsza.
Efekty mapy bitowej WPF
Efekty mapy bitowej (BitmapEffect obiekt) to proste operacje przetwarzania pikseli. Efekt mapy bitowej przyjmuje BitmapSource jako dane wejściowe i tworzy nowy BitmapSource po zastosowaniu efektu, takiego jak rozmycie lub cień. Każdy efekt bitmapy udostępnia właściwości umożliwiające kontrolowanie parametrów filtrowania, takich jak Radius.
W szczególnym przypadku w WPF efekty można ustawić jako właściwości obiektów na żywo Visual, takich jak Button lub TextBox. Przetwarzanie pikseli jest stosowane i renderowane w czasie rzeczywistym. W takim przypadku w momencie renderowania Visual jest automatycznie konwertowany na jego BitmapSource odpowiednik i jest podawany jako dane wejściowe do BitmapEffect. Wynik zastępuje domyślne zachowanie renderowania dla obiektu Visual. BitmapEffect Dlatego obiekty wymuszają renderowanie wizualizacji tylko w oprogramowaniu, tj. brak przyspieszania sprzętowego wizualizacji podczas stosowania efektów.
BlurBitmapEffect symuluje obiekt, który pojawia się poza fokusem.
OuterGlowBitmapEffect tworzy aureolę koloru wokół obwodu obiektu.
DropShadowBitmapEffect tworzy cień za obiektem.
BevelBitmapEffect tworzy skos, który podnosi powierzchnię obrazu zgodnie z określoną krzywą.
EmbossBitmapEffect tworzy mapowanie wypukłości Visual aby dać wrażenie głębokości i tekstury z użyciem sztucznego źródła światła.
Uwaga / Notatka
Efekty mapy bitowej WPF są renderowane w trybie oprogramowania. Każdy obiekt, który stosuje efekt, również będzie renderowany w oprogramowaniu. Wydajność jest najbardziej obniżona w przypadku używania efektów mapy bitowej na dużych wizualizacjach lub animowania właściwości efektu mapy bitowej. Nie oznacza to, że w ogóle nie należy stosować efektów bitmapy, ale należy zachować ostrożność i dokładnie przetestować, aby upewnić się, że użytkownicy mają doświadczenie zgodne z oczekiwaniami.
Uwaga / Notatka
Efekty mapy bitowej WPF nie obsługują wykonywania częściowego zaufania. Aplikacja musi mieć pełne uprawnienia zaufania do korzystania z efektów mapy bitowej.
Jak zastosować efekt
BitmapEffect jest właściwością w Visual. W związku z tym stosowanie efektów do wizualizacji, takich jak Button, Image, DrawingVisual lub UIElement, jest tak proste, jak ustawianie właściwości. BitmapEffect można ustawić jako pojedynczy obiekt BitmapEffect, lub połączyć wiele efektów w łańcuch za pomocą obiektu BitmapEffectGroup.
W poniższym przykładzie pokazano, jak zastosować element BitmapEffect w języku 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>
W poniższym przykładzie pokazano, jak zastosować element BitmapEffect w kodzie.
// 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;
Uwaga / Notatka
Gdy BitmapEffect jest zastosowany do kontenera układu, takiego jak DockPanel lub Canvas, efekt jest stosowany do drzewa wizualnego elementu lub wizualu, w tym do wszystkich jego elementów podrzędnych.
Tworzenie efektów niestandardowych
WPF udostępnia również niezarządzane interfejsy do tworzenia niestandardowych efektów, które mogą być używane w zarządzanych aplikacjach WPF. Aby uzyskać dodatkowe materiały referencyjne dotyczące tworzenia niestandardowych efektów mapy bitowej, zobacz dokumentację Niezarządzanego efektu mapy bitowej WPF .
Zobacz także
.NET Desktop feedback