tutoriais mais recente desenvolvimento web

HTML5 SVG


O que é SVG?

  • SVG significa Scalable Vector Graphics
  • SVG é usado para definir gráficos para a Web
  • SVG é uma recomendação W3C

Scalable Vector Graphics (SVG) é um formato de imagem vetorial baseado em XML para gráficos bidimensionais com suporte para interatividade e animação. A especificação SVG é um padrão aberto desenvolvido pelo World Wide Web Consortium (W3C) desde 1999.

As imagens SVG e seus comportamentos são definidos em arquivos de texto XML. Isso significa que eles podem ser pesquisados, indexado, roteirizado e comprimido. Como arquivos XML, imagens SVG podem ser criados e editados com qualquer editor de texto, bem como com o software de desenho.

Todos os principais navegadores, incluindo moderno web Mozilla Firefox, Internet Explorer, Google Chrome, Opera, Safari e Microsoft Edge-ter suporte SVG renderização.


O HTML <svg> Elemento

O HTML <svg> elemento (introduced in HTML5) é um recipiente para gráficos SVG.

SVG tem vários métodos para caminhos de desenho, caixas, círculos, texto e imagens gráficas.


Suporte navegador

Os números na tabela especificar a primeira versão do navegador que suporta plenamente a <svg> elemento.

Elemento
<svg> 4.0 9 3,0 3.2 10.1

SVG Círculo

Exemplo

<!DOCTYPE html>
<html>
<body>

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

</body>
</html>
Tente você mesmo "

SVG Retângulo

rgb (0,0,0) ">

Exemplo


<svg width="400" height="100">
  <rect width="400" height="100" style="fill:rgb(0,0,255);stroke-width:10;stroke:rgb(0,0,0)" />
</svg>

Tente você mesmo "

SVG retângulo arredondado

Desculpe, seu navegador não suporta SVG embutido.

Exemplo


<svg width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
  style="fill:red;stroke:black;stroke-width:5;opacity:0.5" />
</svg>

Tente você mesmo "

SVG Estrela

Desculpe, seu navegador não suporta SVG embutido.

Exemplo


<svg width="300" height="200">
  <polygon points="100,10 40,198 190,78 10,78 160,198"
  style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>

Tente você mesmo "

Logo SVG

SVG Desculpe, seu navegador não suporta SVG embutido.

Exemplo


<svg height="130" width="500">
  <defs>
    <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
    </linearGradient>
  </defs>
  <ellipse cx="100" cy="70" rx="85" ry="55" fill="url(#grad1)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="50" y="86">SVG</text>
  Sorry, your browser does not support inline SVG.
</svg>

Tente você mesmo "

Diferenças entre o SVG e Canvas

SVG é uma linguagem para descrever gráficos 2D em XML.

Canvas desenha gráficos 2D, em tempo real (with a JavaScript) .

SVG é baseado em XML, o que significa que cada elemento está disponível dentro do SVG DOM. Você pode anexar manipuladores de eventos JavaScript para um elemento.

Em SVG, cada forma desenhada é lembrado como um objecto. Se os atributos de um objeto SVG são alterados, o navegador pode automaticamente re-tornar a forma.

Canvas é processado pixel por pixel. Na tela, uma vez que o gráfico é desenhado, ele é esquecido pelo browser. Se a sua posição deve ser mudado, toda a cena precisa ser redesenhado, incluindo quaisquer objetos que possam ter sido abrangidos pelo gráfico.


Comparação de lona e SVG

A tabela abaixo mostra algumas diferenças importantes entre lona e SVG:

Canvas SVG
  • dependente resolução
  • Não há suporte para manipuladores de eventos
  • capacidades pobres renderização de texto
  • Você pode salvar a imagem resultante como .png ou .jpg
  • Bem adequado para jogos de gráficos intensivos
  • resolução independente
  • Suporte para manipuladores de eventos
  • Mais adequado para aplicações com grandes áreas de processamento (Google Maps)
  • Renderização lenta se complexa (anything that uses the DOM a lot will be slow)
  • Não é adequado para aplicações de jogos

Para saber mais sobre SVG, leia o nosso Tutorial SVG .