Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os efeitos de bitmap permitem que designers e desenvolvedores apliquem efeitos visuais ao conteúdo renderizado do WPF (Windows Presentation Foundation). Por exemplo, os efeitos de bitmap permitem que você aplique facilmente um DropShadowBitmapEffect efeito ou um efeito de desfoque a uma imagem ou um botão.
Importante
No .NET Framework 4 ou posterior, a BitmapEffect classe é obsoleta. Se você tentar usar a BitmapEffect classe, obterá uma exceção obsoleta. A alternativa não obsoleta para a BitmapEffect classe é a Effect classe. Na maioria das situações, a Effect classe é significativamente mais rápida.
Efeitos de Bitmap do WPF
Efeitos de bitmap (BitmapEffect objeto) são operações simples de processamento de pixel. Um efeito bitmap vê um BitmapSource como entrada e produz um novo BitmapSource após aplicar o efeito, como um desfoque ou sombra projetada. Cada efeito bitmap expõe propriedades que podem controlar as propriedades de filtragem, como Radius de BlurBitmapEffect.
Como um caso especial, no WPF, os efeitos podem ser definidos como propriedades em objetos dinâmicos Visual , como um Button ou TextBox. O processamento de pixels é aplicado e renderizado durante a execução. Nesse caso, no momento da renderização, um Visual é convertido automaticamente em seu BitmapSource equivalente e é alimentado como entrada para o BitmapEffect. A saída substitui o Visual comportamento de renderização padrão do objeto. É por isso que BitmapEffect os objetos forçam os visuais a serem renderizados apenas por software, ou seja, sem aceleração de hardware nos visuais quando os efeitos são aplicados.
BlurBitmapEffect simula um objeto que aparece fora de foco.
OuterGlowBitmapEffect cria um halo de cor ao redor do perímetro de um objeto.
DropShadowBitmapEffect cria uma sombra atrás de um objeto.
BevelBitmapEffect cria um bisel que eleva a superfície de uma imagem de acordo com uma curva especificada.
EmbossBitmapEffect cria um mapeamento de relevo de um Visual para dar a impressão de profundidade e textura a partir de uma fonte de luz artificial.
Observação
Os efeitos de bitmap do WPF são renderizados no modo de software. Qualquer objeto que aplique um efeito também será renderizado no software. O desempenho é mais degradado ao usar efeitos de Bitmap em visuais grandes ou ao animar propriedades de um efeito de Bitmap. Isso não quer dizer que você não deve usar os efeitos do Bitmap dessa maneira, mas deve ter cuidado e testar minuciosamente para garantir que os usuários estejam recebendo a experiência esperada.
Observação
Os efeitos de bitmap do WPF não dão suporte à execução sob confiança parcial. Um aplicativo deve ter permissões de confiança total para usar efeitos de bitmap.
Como aplicar um efeito
BitmapEffect é uma propriedade em Visual. Portanto, aplicar efeitos a Visuais, como um Button, Image, DrawingVisual ou UIElement, é tão fácil quanto definir uma propriedade. BitmapEffect pode ser definido como um único BitmapEffect objeto ou vários efeitos podem ser encadeados usando o BitmapEffectGroup objeto.
O exemplo a seguir demonstra como aplicar uma BitmapEffect XAML (linguagem de marcação de aplicativo extensível).
<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>
O exemplo a seguir demonstra como aplicar BitmapEffect em um código.
// 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;
Observação
Quando um BitmapEffect é aplicado a um contêiner de layout, como DockPanel ou Canvas, o efeito é aplicado à árvore visual do elemento ou visual, incluindo todos os seus elementos filho.
Criando efeitos personalizados
O WPF também fornece interfaces não gerenciadas para criar efeitos personalizados que podem ser usados em aplicativos WPF gerenciados. Para obter material de referência adicional para criar efeitos de bitmap personalizados, consulte a documentação do Efeito bitmap do WPF não gerenciado .
Consulte também
.NET Desktop feedback