Desfoque gaussiano SVG
- Página Anterior Introdução aos Filtros SVG
- Próxima Página Gradiente Linear SVG
O filtro SVG deve ser definido dentro do elemento <defs>.
Desfoque gaussiano (Gaussian Blur)
O elemento <filter> é usado para definir filtros SVG. O elemento <filter> usa a propriedade id necessária para definir qual filtro aplicar aos gráficos?
O elemento <filter> deve estar aninhado dentro do elemento <defs>. O <defs> é a abreviação de definitions e permite definir elementos especiais como filtros
Copie o código abaixo para um bloco de notas e salve o arquivo como "filter1.svg". Coloque este arquivo na sua pasta web:
<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" <svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" <defs> <filter id="Gaussian_Blur"> <feGaussianBlur in="SourceGraphic" stdDeviation="3" /> </filter> </defs> <ellipse cx="200" cy="150" rx="70" ry="40" style="fill:#ff0000;stroke:#000000; stroke-width:2;filter:url(#Gaussian_Blur)"/> </svg>
Explicação do código:
- A propriedade id do elemento <filter> define um nome único para o filtro (o mesmo filtro pode ser usado por vários elementos no documento)
- A propriedade filter:url é usada para conectar o elemento ao filtro. Quando se liga ao id do filtro, deve-se usar o caractere #
- O efeito de filtro é definido pelo elemento <feGaussianBlur>. O sufixo fe pode ser usado para todos os filtros
- A propriedade stdDeviation do elemento <feGaussianBlur> define o grau de desfoque
- A parte in="SourceGraphic" define o efeito criado por todo o gráfico
Outro exemplo com um valor diferente de stdDeviation
<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" <svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg" <defs> <filter id="Gaussian_Blur"> <feGaussianBlur in="SourceGraphic" stdDeviation="20"/> </filter> </defs> <ellipse cx="200" cy="150" rx="70" ry="40" style="fill:#ff0000;stroke:#000000; stroke-width:2;filter:url(#Gaussian_Blur)"/> </svg>
- Página Anterior Introdução aos Filtros SVG
- Próxima Página Gradiente Linear SVG