Visão Geral de Efeitos de Bitmap
Efeitos de bitmap permitem a projetistas e desenvolvedores aplicarem efeitos visuais em conteúdo Windows Presentation Foundation (WPF) renderizado. Por exemplo, efeitos de bitmap permitem a você facilmente aplicar um efeito DropShadowBitmapEffect ou um efeito de embaçamento em uma imagem ou botão.
Este tópico contém as seguintes seções.
- Efeitos de Bitmap WPF
- Como Aplicar um Efeito
- Criando Efeitos Customizados
- Tópicos relacionados
Efeitos de Bitmap WPF
(Efeitos de bitmapBitmapEffect objeto) são pixels simples operações de processamento. Um efeitos de bitmap recebe um BitmapSource como entrada e produz um novo BitmapSource depois de aplicar o efeito, como um embaçamento ou de sombra adjacente. Cada efeito de bitmap expõe propriedades que podem controles as propriedades de filtragem, como Radius do BlurBitmapEffect.
Como um caso especial, em WPF, efeitos podem ser definidos como propriedades em objetos Visual vivos, como um Button ou TextBox. O processamento de pixel é aplicado e renderizado em tempo de execução. Neste caso, no momento de renderização, um Visual é automaticamente convertido em seu BitmapSource equivalente e passado como entrada ao BitmapEffect. A saída substitui o comportamento padrão de renderização do objeto Visual. É por isso que BitmapEffect forçar a objetos visuais para processar apenas isto é, no software Nenhuma aceleração de hardware de elementos visuais quando os efeitos são aplicados.
BlurBitmapEffect simulam olhar para um objeto através de lentes fora de foco. Consulte Como: Apply a Blur Effect to a Visual para um exemplo.
OuterGlowBitmapEffect cria uma aura de cor em torno do perímetro de um objeto. Consulte Como: Criar um Efeito de Brilho nas Bordas Externas de um Objeto para um exemplo.
DropShadowBitmapEffect cria uma sombra atrás de um objeto. Consulte Como: Create a Drop Shadow Visual Effect para um exemplo.
BevelBitmapEffect cria um chanfro que suspende a superfície de uma imagem de acordo com uma curva especificada. Consulte Como: Criar um efeito visual de chanfro para um exemplo.
EmbossBitmapEffect cria um mapeamento de relevo de uma Visual para dar a impressão de profundidade e a textura de uma fonte de luz artificial. Consulte Como: Criar um efeito visual embaralhado para um exemplo.
Observação: |
---|
Efeitos de bitmap WPF são renderizados por software. Qualquer objeto que aplique um efeito também será renderizado em software. Desempenho é mais degradado quando usando efeitos de Bitmap em visuais grandes ou propriedades de animação de um efeito de Bitmap. Isto não significa que não se deve usar efeitos de Bitmap desta forma, mas que deve ser feito com cautela e testes completos para certificar-se de que os usuários recebem a experiência esperada. |
Observação: |
---|
Efeitos de bitmap WPF não suportam execução em confiança parcial. Um aplicativo precisa ter permissões de confiança total para usar efeitos de bitmap. |
Como Aplicar um Efeito
BitmapEffect é uma propriedade no Visual. Aplicação de efeitos, portanto, para visuais, sistema autônomo um Button, Image, DrawingVisual, ou UIElement, é tão fácil quanto definir uma propriedade. BitmapEffect pode ser definida como um único BitmapEffect objeto ou vários efeitos podem ser encadeados usando o BitmapEffectGroup objeto.
O exemplo a seguir demonstra como aplicar um BitmapEffect em 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>
O exemplo a seguir demonstra como aplicar um BitmapEffect em 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;
Consulte Como: Criar vários efeitos visuais para exemplos que mostram como aplicar múltiplos efeitos visuais usando o objeto BitmapEffectGroup.
Observação: |
---|
W uando uma BitmapEffect é aplicada a um contêiner de layout, sistema autônomo DockPanel ou Canvas, o efeito é aplicado à árvore visual do elemento ou visuais, incluindo todos sistema autônomo seus elementos filho. |
Criando Efeitos Customizados
WPF também fornece interfaces não gerenciadas para criar efeitos customizados que podem ser usados em aplicativos gerenciados WPF. Para o material de referência adicional para a criação de efeitos de bitmap personalizado, consulte o Efeito de bitmap do WPF não gerenciado documentação.
Para um efeito de bitmap customizado de exemplo, consulte Exemplo de BitmapEffect Personalizar - RGBFilter. Este exemplo demonstra as interfaces não gerenciadas necessárias para criação de um efeito customizado, uma camada de interoperabilidade gerenciada, e um aplicativo WPF usando o efeito customizado.
Consulte também
Tarefas
Como: Animate a Blur Visual Effect
Como: Animar um efeito de brilho
Como: Animate a Drop Shadow Visual Effect
Como: Animate a Beveled Visual Effect
Como: Animate an Embossed Visual Effect
Conceitos
Windows Presentation Foundation Security
Visão Geral sobre Renderização de Gráficos do Windows Presentation Foundation
Otimizando o desempenho: 2D Graphics and Imaging