Tutorial HTML

HTML HOME Introdução HTML Editores de HTML HTML básico Elementos HTML Atributos HTML Títulos HTML Parágrafos HTML Estilos HTML Formatação HTML Cotações HTML Comentários HTML Cores HTML HTML CSS Links HTML Imagens HTML HTML Favicon Tabelas HTML Listas HTML Bloco HTML e Inline Classes HTML Código HTML Iframes HTML JavaScript HTML Caminhos de arquivo HTML Cabeçalho HTML Esquema HTML HTML Responsivo Código de computador HTML Semântica HTML Guia de estilo HTML Entidades HTML Símbolos HTML Emojis HTML Conjunto de caracteres HTML Codificação de URL HTML HTML vs. XHTML

Formulários HTML

Formulários HTML Atributos de formulário HTML Elementos de formulário HTML Tipos de entrada HTML Atributos de entrada HTML Atributos do formulário de entrada HTML

Gráficos HTML

Tela HTML HTML SVG

Mídia HTML

Mídia HTML Vídeo HTML Áudio HTML Plug-ins HTML HTML YouTube

APIs HTML

Geolocalização HTML Arrastar/Soltar HTML Armazenamento Web HTML Trabalhadores da Web HTML HTML SSE

Exemplos HTML

Exemplos HTML Questionário HTML Exercícios HTML Certificado HTML Resumo HTML Acessibilidade HTML

Referências HTML

Lista de tags HTML Atributos HTML Atributos Globais HTML Suporte ao navegador HTML Eventos HTML Cores HTML Tela HTML Áudio/vídeo HTML Tipos de documento HTML Conjuntos de caracteres HTML Codificação de URL HTML Códigos HTML Lang Mensagens HTTP Métodos HTTP PX to EM Converter Atalhos do teclado

Gráficos HTML SVG


O SVG define gráficos baseados em vetor em formato XML.


O que é SVG?

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

O elemento HTML <svg>

O elemento HTML <svg>é um contêiner para gráficos SVG.

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


Suporte ao navegador

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

Element
<svg> 4.0 9.0 3.0 3.2 10.1

Círculo SVG

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>


Retângulo SVG



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>

Retângulo arredondado SVG

Sorry, your browser does not support inline SVG.

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>

Estrela SVG

Sorry, your browser does not support inline SVG.

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>

Logotipo SVG

SVG Sorry, your browser does not support inline SVG.

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>

Diferenças entre SVG e Canvas

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

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

O SVG é baseado em XML, o que significa que todos os elementos estão disponíveis no SVG DOM. Você pode anexar manipuladores de eventos JavaScript para um elemento.

Em SVG, cada forma desenhada é lembrada como um objeto. Se os atributos de um objeto SVG forem alterados, o navegador poderá renderizar novamente a forma automaticamente.

A tela é renderizada pixel por pixel. No canvas, uma vez desenhado o gráfico, ele é esquecido pelo navegador. Se sua posição for alterada, toda a cena precisa ser redesenhada, incluindo quaisquer objetos que possam ter sido cobertos pelo gráfico.


Comparação de Canvas e SVG

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

Canvas SVG
  • Resolution dependent
  • No support for event handlers
  • Poor text rendering capabilities
  • You can save the resulting image as .png or .jpg
  • Well suited for graphic-intensive games
  • Resolution independent
  • Support for event handlers
  • Best suited for applications with large rendering areas (Google Maps)
  • Slow rendering if complex (anything that uses the DOM a lot will be slow)
  • Not suited for game applications

Tutorial SVG

Para saber mais sobre SVG, leia nosso Tutorial SVG .