Efeito de desfocagem gaussiana
Use o efeito de desfoque Gaussiano para criar um desfoque baseado na função Gaussian em toda a imagem de entrada.
Você pode usar esse efeito para criar brilhos e sombras projetadas e usar o efeito de composto para aplicar o resultado à imagem original. É útil no processamento de fotos para filtros como realces e sombras. Você pode usar a saída desse efeito para entrada em efeitos de iluminação, como o de iluminação especular ou efeitos de de iluminação difusa, porque o canal alfa também é desfocado e os efeitos de iluminação usam o canal alfa para determinar a geometria da superfície como um mapa de altura.
Este efeito é utilizado pelo efeito de sombra incorporado.
O CLSID para este efeito é CLSID_D2D1GaussianBlur.
- Imagem de exemplo
- Propriedades de efeito
- Modos de otimização
- Modos de borda
- Bitmap de saída
- Requisitos
- Tópicos relacionados
Imagem de exemplo
Antes |
---|
![]() |
Após |
![]() |
ComPtr<ID2D1Effect> gaussianBlurEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GaussianBlur, &gaussianBlurEffect);
gaussianBlurEffect->SetInput(0, bitmap);
gaussianBlurEffect->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, 3.0f);
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(gaussianBlurEffect.Get());
m_d2dContext->EndDraw();
Propriedades do efeito
Nome para exibição e enumeração de índice | Descrição |
---|---|
Desvio padrão D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION |
A quantidade de desfoque a ser aplicada à imagem. Você pode calcular o raio de desfoque do kernel multiplicando o desvio padrão por 3. As unidades do desvio padrão e do raio de desfoque são DIPs. Um valor de zero DIPs desativa totalmente esse efeito. O tipo é FLOAT. O valor padrão é 3.0f. |
Otimização D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION |
O modo de otimização. Consulte Modos de otimização para obter mais informações. O tipo é D2D1_GAUSSIANBLUR_OPTIMIZATION. O valor padrão é D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED. |
BorderMode D2D1_GAUSSIANBLUR_PROP_BORDER_MODE |
O modo usado para calcular a borda da imagem, suave ou hard. Consulte Modos de borda para obter mais informações. O tipo é D2D1_GAUSSIANBLUR_BORDER_MODE. O valor padrão é D2D1_BORDER_MODE_SOFT. |
Modos de otimização
Designação | Descrição |
---|---|
D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED | Aplica otimizações internas, como pré-dimensionamento em raios relativamente pequenos. Utiliza filtragem linear. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED | Usa os mesmos limites de otimização do modo Velocidade, mas usa filtragem trilinear. |
D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY | Usa apenas otimizações internas com grandes raios de desfoque, onde as aproximações são menos prováveis de serem visíveis. Utiliza filtragem trilinear. |
Modos de borda
Designação | Descrição |
---|---|
D2D1_BORDER_MODE_SOFT | O efeito preenche a imagem com pixels pretos transparentes à medida que aplica o kernel de desfoque, resultando em uma borda suave. |
D2D1_BORDER_MODE_HARD | O efeito fixa a saída ao tamanho da imagem de entrada. Quando o efeito aplica o kernel de desfoque, ele estende a imagem de entrada com uma transformação de borda do tipo espelho para amostras fora dos limites de entrada. |
Bitmap de saída
A saída desse efeito pode ser maior do que o bitmap de entrada com base no raio de desfoque e no modo de borda. Se o modo de borda estiver definido como D2D1_BORDER_MODE_SOFT o s ize do bitmap de saída aumentará pelo tamanho do kernel de desfoque, representado em pixels. Esta tabela fornece uma equação que você pode usar para calcular o bitmap de saída.
Output bitmap growth (X and Y) = StandardDeviation (DIPs)*6*((User DPI)/96)
Assim, se o tamanho da imagem aumenta em 10 pixels em cada direção, o canto superior esquerdo da imagem estará localizado em (-5, -5) enquanto o canto inferior direito estará em (105, 105).
Requerimentos
Exigência | Valor |
---|---|
Cliente mínimo suportado | Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows] |
Servidor mínimo suportado | Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows] |
Cabeçalho | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |