SVG - Guia rápido

O que é 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.

Vantagens

  • 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 escaloná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

Desvantagens

  • 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.

Exemplo

O seguinte snippet XML pode ser usado para desenhar um círculo no navegador da web.

<svg width="100" height="100">
   <circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
</svg>

Incorpore o XML SVG diretamente em uma página HTML.

testSVG.htm

<html>
   <title>SVG Image</title>
   <body>
   
      <h1>Sample SVG Image</h1>
      
      <svg width="100" height="100">
         <circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. No Internet Explorer, os controles ActiveX são necessários para visualizar imagens SVG.

Como o SVG se integra ao HTML

  • O elemento <svg> indica o início da imagem SVG.

  • Os atributos de largura e altura do elemento <svg> definem a altura e a largura da imagem SVG.

  • No exemplo acima, usamos um elemento <circle> para desenhar um círculo.

  • Os atributos cx e cy representam o centro do círculo. O valor padrão é (0,0). O atributo r representa o raio do círculo.

  • Outros atributos traço e largura do traço controlam o contorno do círculo.

  • O atributo fill define a cor de preenchimento do círculo.

  • A tag de fechamento </svg> indica o fim da imagem SVG.

O SVG fornece várias formas que podem ser usadas para desenhar imagens. A seguir estão as formas comuns.

Sr. Não. Tipo e descrição da forma
1 rect

Usado para desenhar um retângulo.

2 círculo

Usado para desenhar um círculo.

3 elipse

Usado para desenhar uma elipse.

4 linha

Usado para traçar uma linha.

5 polígono

Usado para desenhar uma forma fechada que consiste em linhas retas conectadas.

6 polilinha

Usado para desenhar uma forma aberta que consiste em linhas retas conectadas.

7 caminho

Usado para desenhar qualquer caminho.

O elemento <text> é usado para desenhar texto.

Declaração

A seguir está a declaração de sintaxe de <text>elemento. Mostramos apenas os atributos principais.

<text
  x="x-cordinates"
  y="y-cordinates"
  
  dx="list of lengths"
  dy="list of lengths"
  
  rotate="list of numbers"
  textlength="length"
  lengthAdjust="spacing" >
</text>

Atributos

Sr. Não. Atributo e descrição
1 x - coordenadas do eixo x de glifos.
2 y - coordenadas do eixo y dos glifos.
3 dx - deslocar junto com o eixo x.
4 dy - deslocar junto com o eixo y.
5 rotate - rotação aplicada a todos os glifos.
6 textlength - comprimento de renderização do texto.
7 lengthAdjust - tipo de ajuste com o comprimento renderizado do texto.

Exemplo

testSVG.htm
<html>
   <title>SVG Text</title>
   <body>
      
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="12" >Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM</text>
         </g> 
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Texto com rotação

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="12" >Multiline Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM
            <tspan x="30" y="50" font-weight="bold">Simply Easy learning.</tspan>
            <tspan x="30" y="70">We teach just for free.</tspan>
            </text>
         </g>
      </svg>
      
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Texto Multilinha

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="570" height="100">
         <g>
            <text x="30" y="12" >Multiline Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM
               <tspan x="30" y="50" font-weight="bold">Simply Easy learning.</tspan>
               <tspan x="30" y="70">We teach just for free.</tspan>
            </text>
         </g>
      </svg>
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Texto do hiperlink

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="10" >Text as Link: </text>
         
            <a xlink:href="http://www.tutorialspoint.com/svg/" target="_blank">
               <text font-family="Verdana" font-size="20"  x="30" y="30" 
               fill="rgb(121,0,121)">WWW.TutorialsPoint.COM</text>
            </a>
         </g>
      </svg>
      
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

SVG oferece suporte a várias propriedades de traços.

A seguir estão as principais propriedades do traço usadas.

Sr. Não. Tipo e descrição do curso
1 stroke - define a cor do texto, linha ou contorno de qualquer elemento.
2 stroke-width - define a espessura do texto, linha ou contorno de qualquer elemento.
3 stroke-linecap - define diferentes tipos de finalização de uma linha ou contorno de qualquer caminho.
4 stroke-dasharray - usado para criar linhas tracejadas.

Exemplo

testSVG.htm
<html>
   <title>SVG Stroke</title>
   <body>
   
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke: </text>
            <path stroke="red" d="M 50 50 L 300 50" />
            <path stroke="green" d="M 50 70 L 300 70" />
            <path stroke="blue" d="M 50 90 L 300 90" />
         </g> 
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Largura do traçado

<html>
   <title>SVG Stroke</title>
   <body>
      
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <text x="30" y="10" >Using stroke-width: </text>
         <path stroke-width="2" stroke="black" d="M 50 50 L 300 50" />
         <path stroke-width="4" stroke="black" d="M 50 70 L 300 70" />
         <path stroke-width="6" stroke="black" d="M 50 90 L 300 90" />
      </svg>
      
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

capa de linha de traço

<html>
   <title>SVG Stroke</title>
   <body>
      
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke-linecap: </text>
         
            <path stroke-linecap="butt" stroke-width="6" 
            stroke="black" d="M 50 50 L 300 50" />
         
            <path stroke-linecap="round" stroke-width="6" 
            stroke="black" d="M 50 70 L 300 70" />
         
            <path stroke-linecap="square" stroke-width="6"
            stroke="black" d="M 50 90 L 300 90" />
         </g>
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

traço-dasharray

<html>
   <title>SVG Stroke</title>
   <body>
   
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke-dasharray: </text>
            
            <path stroke-dasharray="5,5" stroke-width="6" 
            stroke="black" d="M 50 50 L 300 50" />
            
            <path stroke-dasharray="10,10" stroke-width="6" 
            stroke="black" d="M 50 70 L 300 70" />
            
            <path stroke-dasharray="20,10,5,5,5,10" stroke-width="6" 
            stroke="black" d="M 50 90 L 300 90" />
         </g>
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

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
  • feFlood
  • feGaussianBlur
  • feImage
  • feMerge
  • feMorphology
  • feOffset - filtro para sombras projetadas
  • feSpecularLighting
  • feTile
  • feTurbulence
  • feDistantLight
  • fePointLight
  • feSpotLight

Declaração

A seguir está a declaração de sintaxe de <filter>elemento. Mostramos apenas os atributos principais.

<filter
   filterUnits="units to define filter effect region"
   primitiveUnits="units to define primitive filter subregion"
   
   x="x-axis co-ordinate" 
   y="y-axis co-ordinate"     
   
   width="length"
   height="length"
   
   filterRes="numbers for filter region"
   xlink:href="reference to another filter" >
</filter>

Atributos

Sr. Não. Nome e Descrição
1 filterUnits- unidades para definir a região do efeito do filtro. Ele especifica o sistema de coordenadas para os vários valores de comprimento dentro do filtro e para os atributos que definem a sub-região do filtro. Se filterUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual em vigor no momento em que o elemento 'filtro' é usado. Se filterUnits = "objectBoundingBox", os valores representam os valores em frações ou porcentagens da caixa delimitadora no elemento de referência no local no momento em que o elemento 'filtro' é usado. O padrão é userSpaceOnUse.
2 primitiveUnits- unidades para definir a região do efeito do filtro. Ele especifica o sistema de coordenadas para os vários valores de comprimento dentro do filtro e para os atributos que definem a sub-região do filtro. Se filterUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual em vigor no momento em que o elemento 'filtro' é usado. Se filterUnits = "objectBoundingBox", os valores representam os valores em frações ou porcentagens da caixa delimitadora no elemento de referência no local no momento em que o elemento 'filtro' é usado. O padrão é userSpaceOnUse.
3 x- coordenada do eixo x da caixa delimitadora do filtro. Defeault é 0.
4 y- coordenada do eixo y da caixa delimitadora do filtro. O padrão é 0.
5 width- largura da caixa delimitadora do filtro. O padrão é 0.
6 height- altura da caixa delimitadora do filtro. O padrão é 0.
7 filterRes - números que representam regiões de filtro.
8 xlink:href - usado para se referir a outro filtro.

Exemplo

testSVG.htm
<html>
   <title>SVG Filter</title>
   <body>
   
      <h1>Sample SVG Filter</h1>
   
      <svg width="800" height="800">
      
         <defs>
            <filter id="filter1" x="0" y="0">
               <feGaussianBlur in="SourceGraphic" stdDeviation="8" />
            </filter>
            
            <filter id="filter2" x="0" y="0" width="200%" height="200%">
               <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" />
               <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
               <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
            </filter>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Filters (Blur Effect): </text>
            <rect x="100" y="100" width="90" height="90" stroke="green" stroke-width="3"
            fill="green" filter="url(#filter1)" />      
         </g> 
         
      </svg>
   
   </body>
</html>
  • Dois elementos <filter> definidos como filter1 e filter2.

  • O efeito de filtro feGaussianBlur define o efeito de desfoque com a quantidade de desfoque usando stdDeviation.

  • in = "SourceGraphic" define que o efeito é aplicável a todo o elemento.

  • O efeito de filtro feOffset é usado para criar o efeito de sombra. in = "SourceAlpha" define que o efeito é aplicável para a parte alfa dos gráficos RGBA.

  • Os elementos <rect> vinculam os filtros usando o atributo filter.

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Filtro com efeito de sombra

<html>
   <title>SVG Filter</title>
   <body>
      
      <h1>Sample SVG Filter</h1>
      
      <svg width="800" height="800">
      
         <defs>
            <filter id="filter1" x="0" y="0">
               <feGaussianBlur in="SourceGraphic" stdDeviation="8" />
            </filter>
            
            <filter id="filter2" x="0" y="0" width="200%" height="200%">
               <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" />
               <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
               <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
            </filter>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Filters (Shadow Effect): </text>
            <rect x="100" y="100" width="90" height="90" stroke="green" stroke-width="3"
            fill="green" filter="url(#filter2)" />
         </g>
         
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

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.

Declaração

A seguir está a declaração de sintaxe de <pattern>elemento. Mostramos apenas os atributos principais.

<pattern
   patternUnits="units to define x,y, width and height attributes."
   patternContentUnits ="units to define co-ordinate system of contents of pattern"
   patternTransform = "definition of an additional transformation from the pattern coordinate system onto the target coordinate system"
   
   x="x-axis co-ordinate" 
   y="y-axis co-ordinate"     
   
   width="length"
   height="length"
   
   preserveAspectRatio="to preserve width/height ratio of original content"
   xlink:href="reference to another pattern" >
</pattern>

Atributos

Sr. Não. Nome e Descrição
1 patternUnits- unidades para definir a região do efeito dos padrões. Ele especifica o sistema de coordenadas para os vários valores de comprimento dentro do padrão e para os atributos que definem a sub-região do padrão. Se patternUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual no local no momento em que o elemento 'padrão' é usado. Se patternUnits = "objectBoundingBox", os valores representam os valores em frações ou porcentagens da caixa delimitadora no elemento de referência no local no momento em que o elemento 'padrão' é usado. O padrão é userSpaceOnUse.
2 patternContentUnits- unidades para definir a região de conteúdo do padrão. Ele especifica o sistema de coordenadas para os vários valores de comprimento dentro do padrão e para os atributos que definem a sub-região do padrão. Se patternContentUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual no local no momento em que o elemento 'padrão' é usado. Se patternContentUnits = "objectBoundingBox", os valores representam valores em frações ou porcentagens da caixa delimitadora no elemento de referência no local no momento em que o elemento 'padrão' é usado. O padrão é userSpaceOnUse.
3 x- coordenada do eixo x da caixa delimitadora do padrão. Defeault é 0.
4 y- coordenada do eixo y da caixa delimitadora do padrão. O padrão é 0.
5 width- largura da caixa delimitadora do padrão. O padrão é 0.
6 height- altura da caixa delimitadora do padrão. O padrão é 0.
7 preserveAspectRatio - para preservar a proporção largura / altura do conteúdo original.
8 xlink:href - usado para se referir a outro padrão.

Exemplo

testSVG.htm
<html>
   <title>SVG Pattern</title>
   <body>
      <h1>Sample SVG Pattern</h1>
      
      <svg width="800" height="800">
         
         <defs>
            <pattern id="pattern1" patternUnits="userSpaceOnUse"
               x="0" y="0" width="100" height="100"
               viewBox="0 0 4 4" >
               <path d="M 0 0 L 3 0 L 1.5 3 z" fill="blue" stroke="green" />
            </pattern> 
         </defs>
         
         <g>
            <text x="30" y="50" >Using Pattern (Triangles): </text>
            <rect x="100" y="100" width="300" height="300" stroke="green" 
            stroke-width="3" fill="url(#pattern1)" />
         </g> 
         
      </svg>
   
   </body>
</html>
  • Um elemento <pattern> definido como pattern1.

  • No padrão, uma caixa de visualização é definida e um caminho que deve ser usado como padrão é definido.

  • no elemento ret, no atributo de preenchimento, o url do padrão é especificado para preencher o retângulo com o padrão criado anteriormente.

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

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

  • Linear Gradients - Representa a transição linear de uma cor para outra de uma direção para outra.

  • Radial Gradients - Representa a transição circular de uma cor para outra de uma direção para outra.

Gradientes Lineares

Declaração

A seguir está a declaração de sintaxe de <linearGradient>elemento. Mostramos apenas os atributos principais.

<linearGradient
   gradientUnits ="units to define co-ordinate system of contents of gradient"
   gradientTransform = "definition of an additional transformation from the gradient coordinate system onto the target coordinate system"
   
   x1="x-axis co-ordinate" 
   y1="y-axis co-ordinate"     
   x2="x-axis co-ordinate" 
   y2="y-axis co-ordinate"     
   
   spreadMethod="indicates method of spreading the gradient within graphics element"
   xlink:href="reference to another gradient" >
</linearGradient>

Atributos

Sr. Não. Nome e Descrição
1 gradientUnits- unidades para definir o sistema de coordenadas para os vários valores de comprimento dentro do gradiente. Se gradienteUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual no local no momento em que o elemento gradiente é usado. Se patternContentUnits = "objectBoundingBox", os valores representam os valores em frações ou porcentagens da caixa delimitadora no elemento de referência no lugar no momento em que o elemento gradiente é usado. O padrão é userSpaceOnUse.
2 x1- coordenada do eixo x do vetor gradiente. Defeault é 0.
3 y1- coordenada do eixo y do vetor gradiente. O padrão é 0.
4 x2- coordenada do eixo x do vetor gradiente. Defeault é 0.
5 y2- coordenada do eixo y do vetor gradiente. O padrão é 0.
6 spreadMethod- indica o método de espalhar o gradiente no elemento gráfico. O padrão é 'pad'.
7 xlink:href - usado para se referir a outro gradiente.

Exemplo

testSVG.htm
<html>
   <title>SVG Linear Gradient</title>
   <body>
   
      <h1>Sample SVG Linear Gradient</h1>
   
      <svg width="600" height="600">
      
         <defs>
            <linearGradient id="sampleGradient">
               <stop offset="0%" stop-color="#FF0000" />
               <stop offset="100%" stop-color="#00FFF00" />
            </linearGradient>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Linear Gradient: </text>
            <rect x="100" y="100" width="200" height="200" stroke="green" stroke-width="3" 
            fill="url(#sampleGradient)" />
         </g>
         
      </svg>
   
   </body>
</html>
  • Um elemento <linearGradient> definido como sampleGradient.

  • Em linearGradient, dois deslocamentos são definidos com duas cores.

  • no elemento ret, no atributo de preenchimento, a url do gradiente é especificada para preencher o retângulo com o gradiente criado anteriormente.

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

Gradientes Radiais

Declaração

A seguir está a declaração de sintaxe de <radialGradient>elemento. Mostramos apenas os atributos principais.

<radialGradient
   gradientUnits ="units to define co-ordinate system of contents of gradient"
   gradientTransform = "definition of an additional transformation from the gradient coordinate system onto the target coordinate system"
   
   cx="x-axis co-ordinate of center of circle." 
   cy="y-axis co-ordinate of center of circle."     
   
   r="radius of circle" 
   
   fx="focal point for the radial gradient"     
   fy="focal point for the radial gradient"     
   
   spreadMethod="indicates method of spreading the gradient within graphics element"
   xlink:href="reference to another gradient" >
</radialGradient>

Atributos

Sr. Não. Nome e Descrição
1 gradientUnits- unidades para definir o sistema de coordenadas para os vários valores de comprimento dentro do gradiente. Se gradienteUnits = "userSpaceOnUse", os valores representam os valores no sistema de coordenadas do usuário atual no local no momento em que o elemento gradiente é usado. Se patternContentUnits = "objectBoundingBox", os valores representam os valores em frações ou porcentagens da caixa delimitadora no elemento de referência no lugar no momento em que o elemento gradiente é usado. O padrão é userSpaceOnUse.
2 cx- coordenada do eixo x do centro do maior círculo do vetor gradiente. Defeault é 0.
3 cy- coordenada do eixo y do centro do maior círculo do vetor gradiente. O padrão é 0.
4 r- raio do centro do maior círculo do vetor gradiente. Defeault é 0.
5 fx- ponto focal do gradiente radial. O padrão é 0.
6 fy- ponto focal do gradiente radial. O padrão é 0.
7 spreadMethod- indica o método de espalhar o gradiente no elemento gráfico. O padrão é 'pad'.
8 xlink:href - usado para se referir a outro gradiente.

Exemplo

testSVG.htm
<html>
   <title>SVG Radial Gradient</title>
   <body>
      
      <h1>Sample SVG Radial Gradient</h1>
      
      <svg width="600" height="600">
         <defs>
            <radialGradient id="sampleGradient">
               <stop offset="0%" stop-color="#FF0000" />
               <stop offset="100%" stop-color="#00FFF00" />
            </radialGradient>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Radial Gradient: </text>
            <rect x="100" y="100" width="200" height="200" stroke="green" stroke-width="3"
            fill="url(#sampleGradient)" />
         </g>
      </svg>
      
   </body>
</html>
  • Um elemento <radialGradient> definido como sampleGradient.

  • Em radialGradient, dois deslocamentos são definidos com duas cores.

  • no elemento ret, no atributo de preenchimento, a url do gradiente é especificada para preencher o retângulo com o gradiente criado anteriormente.

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG.

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. Considere o seguinte exemplo.

Exemplo

testSVG.htm
<html>
   <title>SVG Interactivity</title>
   <body>
      
      <h1>Sample Interactivity</h1>
      
      <svg width="600" height="600">
         <script type="text/JavaScript">
            <![CDATA[
               function showColor() {
                  alert("Color of the Rectangle is: "+
                  document.getElementById("rect1").getAttributeNS(null,"fill"));
               }
               
               function showArea(event){
                  var width = parseFloat(event.target.getAttributeNS(null,"width"));
                  var height = parseFloat(event.target.getAttributeNS(null,"height"));
                  alert("Area of the rectangle is: " +width +"x"+ height);
               }
               
               function showRootChildrenCount() {
                  alert("Total Children: "+document.documentElement.childNodes.length);
               }
            ]]>
         </script>
         
         <g>
            <text x="30" y="50" onClick="showColor()">Click me to show rectangle color.</text>
            
            <rect id="rect1" x="100" y="100" width="200" height="200" 
            stroke="green" stroke-width="3" fill="red" 
            onClick="showArea(event)"/>
            
            <text x="30" y="400" onClick="showRootChildrenCount()">
            Click me to print child node count.</text>
         </g>
      </svg>
   
   </body>
</html>

Explicação

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

  • 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.

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG. Clique em cada texto e retângulo para ver o resultado.

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).

Declaração

A seguir está a declaração de sintaxe de <a>elemento. Mostramos apenas os atributos principais.

<a
   xlink:show = "new" | "replace"
   xlink:actuate = "onRequest"
   xlink:href = "<IRI>"
   target = "_replace" | "_self" | "_parent" | "_top" | "_blank" | "<XML-Name>" >
</a>

Atributos

Sr. Não. Nome e Descrição
1 xlink:show- para fins de documentação para processadores compatíveis com XLink. O padrão é novo.
2 xlink:actuate - para fins de documentação para processadores compatíveis com XLink.
3 xlink:href - localização do objeto referenciado.
4 target - usado quando alvos para o recurso final são possíveis.

Exemplo

testSVG.htm
<html>
   <title>SVG Linking</title>
   <body>
   
      <h1>Sample Link</h1>
      
      <svg width="800" height="800">
         <g>
            <a xlink:href="http://www.tutorialspoint.com"> 
               <text x="0" y="15" fill="black" >
               Click me to load TutorialsPoint DOT COM.</text>
            </a>
         </g> 
         
         <g>
            <text x="0" y="65" fill="black" >
            Click in the rectangle to load TutorialsPoint DOT COM</text>
            
            <a xlink:href="http://www.tutorialspoint.com"> 
               <rect x="100" y="80" width="300" height="100"
               style="fill:rgb(121,0,121);stroke-width:3;stroke:rgb(0,0,0)" /> 
            </a>
         </g>
      </svg>
   
   </body>
</html>

Resultado

Abra textSVG.htm no navegador Chrome. Você pode usar o Chrome / Firefox / Opera para visualizar a imagem SVG diretamente sem qualquer plugin. O Internet Explorer 9 e superior também oferece suporte à renderização de imagens SVG. Clique no link e no retângulo para ver o resultado.