SVG significa Scalable Vector Graphics.

SVG é um formato baseado em XML para desenhar imagens vetoriais. É usado para desenhar imagens vetoriais bidimensionais.

A seguir estão os principais recursos do SVG -

  • SVG, Scalable Vector Graphics é uma linguagem baseada em XML para definir gráficos vetoriais.

  • O SVG se destina a exibir imagens na web.

  • Por serem imagens vetoriais, as imagens SVG nunca perdem qualidade, não importa como sejam reduzidas ou redimensionadas.

  • As imagens SVG suportam interatividade e animação.

  • SVG é um padrão W3C.

  • Outros formatos de imagem, como imagens raster, também podem ser combinados com imagens SVG.

  • SVG se integra bem com XSLT e DOM de HTML.

A seguir estão as vantagens de usar imagens SVG -

  • Use qualquer editor de texto para criar e editar imagens SVG.

  • Por serem baseadas em XML, as imagens SVG são pesquisáveis, indexáveis ​​e podem ser inseridas em script e compactadas.

  • As imagens SVG são altamente escaláveis, pois nunca perdem qualidade, não importa como sejam reduzidas ou redimensionadas.

  • Boa qualidade de impressão em qualquer resolução.

  • SVG é um padrão aberto.

A seguir estão as desvantagens de usar imagens SVG -

  • Sendo o tamanho do formato de texto é maior do que em comparação com imagens raster formatadas em formato binário.

  • O tamanho pode ser grande, mesmo para imagens pequenas.

A tag 'rect' do SVG é usada para desenhar um retângulo.

A tag 'circle' do SVG é usada para desenhar um círculo.

A tag 'elipse' do SVG é usada para desenhar uma elipse.

A tag 'line' do SVG é usada para desenhar uma linha.

A tag 'polígono' do SVG é usada para desenhar uma forma fechada que consiste em linhas retas conectadas.

A tag 'polyline' do SVG é usada para desenhar uma forma aberta que consiste em linhas retas conectadas.

A tag 'path' do SVG é usada para desenhar qualquer caminho.

A tag 'text' do SVG é usada para desenhar texto.

O atributo 'x' da tag de texto de SVG representa os cordinates do eixo x de glifos.

O atributo 'y' da tag de texto de SVG representa os cordinates do eixo y de glifos.

O atributo 'dx' da tag de texto do SVG representa a mudança junto com o eixo x.

O atributo 'dy' da tag de texto do SVG representa a mudança junto com o eixo y.

O atributo 'rotação' da marca de texto do SVG define a rotação a ser aplicada a todos os glifos.

O atributo 'textlength' da tag de texto do SVG define o comprimento de renderização do texto.

A propriedade 'stroke' define a cor do texto, linha ou contorno de qualquer elemento.

A propriedade 'stroke-width' define a espessura do texto, linha ou contorno de qualquer elemento.

A propriedade 'stroke-linecap' define diferentes tipos de finalização de uma linha ou contorno de qualquer caminho.

Propriedade 'stroke-dasharray' usada para criar linhas tracejadas.

SVG usa o elemento <filter> para definir filtros. O elemento <filter> usa um atributo id para identificá-lo exclusivamente. Os filtros são definidos dentro dos elementos <def> e, a seguir, são referenciados por elementos gráficos por seus ids.

O SVG fornece um rico conjunto de filtros. A seguir está a lista dos filtros comumente usados ​​-

  • feBlend

  • feColorMatrix

  • feComponentTransfer

  • feComposite

  • feConvolveMatrix

  • feDiffuseLighting

  • feDisplacementMap

SVG usa o elemento <pattern> para definir padrões. Os padrões são definidos usando o elemento <pattern> e são usados ​​para preencher os elementos gráficos de forma ladrilhada.

O gradiente se refere à transição suave de uma cor para outra dentro de uma forma. SVG oferece dois tipos de gradientes -

  • Gradientes Lineares

  • Gradientes Radiais

Gradientes lineares representam a transição linear de uma cor para outra de uma direção para outra. É definido usando o elemento <linearGradient>.

Gradientes radiais representam a transição circular de uma cor para outra de uma direção para outra. É definido usando o elemento <radialGradient>.

Sim! As imagens SVG podem ser responsivas às ações do usuário. SVG oferece suporte a eventos de ponteiro, eventos de teclado e eventos de documento.

Sim! SVG suporta funções JavaScript / ECMAScript. O bloco de script deve estar no bloco CDATA, considere o suporte de dados de caracteres em XML.

Sim! Os elementos SVG suportam eventos de mouse, eventos de teclado. Usamos o evento onClick para chamar funções javascript.

Em funções javascript, document representa o documento SVG e pode ser usado para obter os elementos SVG.

Em funções javascript, evento representa o evento atual e pode ser usado para obter o elemento de destino no qual o evento foi gerado.

O elemento <a> é usado para criar um hiperlink. O atributo "xlink: href" é usado para passar os IRI (Identificadores de Recursos Internacionalizados) que são complementares aos URI (Identificadores Uniformes de Recursos).

A imagem SVG pode ser incorporada das seguintes maneiras -

  • usando tag embed

  • usando tag de objeto

  • usando iframe

A tag 'rect' do SVG é usada para desenhar um retângulo. A seguir estão os atributos comumente usados ​​-

  • x- coordenada do eixo x da parte superior esquerda do retângulo. O padrão é 0.

  • y- coordenada do eixo y do canto superior esquerdo do retângulo. O padrão é 0.

  • width - largura do retângulo.

  • height - altura do retângulo.

  • rx - usado para contornar o canto do retângulo arredondado.

  • ry - usado para contornar o canto do retângulo arredondado.

Exemplo -

<rect 
x = "100" y = "30" 
width = "300" height = "100" 
style = "fill:rgb(121,0,121);stroke-width:3;stroke:rgb(0,0,0)" >

A tag 'circle' do SVG é usada para desenhar um círculo. A seguir estão os atributos comumente usados ​​-

  • cx- coordenada do eixo x do centro do círculo. O padrão é 0.

  • cy- coordenada do eixo y do centro do círculo. O padrão é 0.

  • r - raio do círculo.

Exemplo -

<circle 
cx = "100" cy = "100" r = "50" 
stroke = "black" 
stroke-width = "3" 
fill = "rgb(121,0,121)" >

A tag 'elipse' do SVG é usada para desenhar uma elipse. A seguir estão os atributos comumente usados ​​-

  • cx- coordenada do eixo x do centro da elipse. O padrão é 0.

  • cy- coordenada do eixo y do centro da elipse. O padrão é 0.

  • rx - raio do eixo x da elipse.

  • ry - raio do eixo y da elipse.

Exemplo -

<ellipse 
cx = "100" cy = "100" 
rx = "90" ry = "50" 
stroke = "black" 
stroke-width = "3" 
fill = "rgb(121,0,121)">

A tag 'line' do SVG é usada para desenhar uma linha. A seguir estão os atributos comumente usados ​​-

  • x1- coordenada do eixo x do ponto inicial. O padrão é 0.

  • y1- coordenada do eixo y do ponto inicial. O padrão é 0.

  • x2- coordenada do eixo x do ponto final. O padrão é 0.

  • y2- coordenada do eixo y do ponto final. O padrão é 0.

Exemplo -

<line 
x1 = "20" y1 = "20" 
x2 = "150" y2 = "150" 
stroke = "black" 
stroke-width = "3" 
fill = "rgb(121,0,121)">

A tag 'polígono' do SVG é usada para desenhar um polígono. A seguir está o atributo comumente usado -

pontos - Lista de pontos para formar um polígono.

Exemplo -

<polygon 
points = "150,75 258,137.5 258,262.5 150,325 42,262.6 42,137.5" 
stroke = "black" 
stroke-width = "3" 
fill = "rgb(121,0,121)">

A tag 'polyline' do SVG é usada para desenhar um polígono aberto. A seguir está o atributo comumente usado -

pontos - Lista de pontos para formar um polígono.

Exemplo -

<polyline 
points = "150,75 258,137.5 258,262.5 150,325 42,262.6 42,137.5" 
stroke = "black" 
stroke-width = "3" 
fill = "none">

A tag 'path' do SVG é usada para desenhar um caminho de fluxo livre. A seguir está o atributo comumente usado -

d - dados de caminho, geralmente um conjunto de comandos como moveto, lineto etc.

Exemplo -

<path 
d = "M 100 100 L 300 100 L 200 300 z" 
stroke = "black" 
stroke-width = "3" 
fill = "rgb(121,0,121)">

O comando M do elemento do caminho move de um ponto para outro ponto.

O comando L do elemento de caminho cria uma linha.

O comando H do elemento de caminho cria uma linha horizontal.

O comando V do elemento de caminho cria uma linha vertical.

O comando C do elemento de caminho cria uma curva.

O comando S do elemento de caminho cria uma curva suave.

O comando Q do elemento de caminho cria uma curva de Bézier quadrática.

O comando T do elemento de caminho cria uma curva de Bézier quadrática suave.

Um comando do elemento de caminho cria um arco elíptico.

O comando Z do elemento de caminho fecha o caminho.

Quando os comandos estão em maiúsculas, eles representam o caminho absoluto. No caso de seus comandos em minúsculas serem usados, o caminho relativo é usado.