Partilhar via


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.

ObservaçãoObservaçã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çãoObservaçã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çãoObservaçã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

Visão geral sobre imagens

Windows Presentation Foundation Security

Visão Geral sobre Renderização de Gráficos do Windows Presentation Foundation

Otimizando o desempenho: 2D Graphics and Imaging

Referência

BitmapEffectGroup

BitmapEffectInput

BitmapEffectCollection

Unmanaged WPF Bitmap Effect