HTML SVG: La guía completa

HTML SVG: La guía completa

SVG (Scalable Vector Graphics)

SVG define gráficos basados en vectores XML que pueden incrustarse directamente en las páginas HTML. Los gráficos SVG son escalables y no pierden calidad si se les amplía o se les cambia el tamaño.

SVG es compatible con todos los navegadores modernos.

¿Qué es SVG?

  • SVG significa gráficos vectoriales escalables

  • SVG se utiliza para definir gráficos basados en vectores para la web

  • SVG define gráficos en formato XML

  • Cada elemento y atributo en archivos SVG se puede animar

  • SVG es una recomendación de la W3C

  • SVG se integra con otros estándares, como CSS, DOM, XSL y JavaScript

El elemento SVG

El elemento HTML <svg> es un contenedor de gráficos SVG. SVG tiene varios métodos para dibujar trazados, rectángulos, círculos, polígonos, texto y mucho más.

Ejemplos

Círculo

Rectángulo

Opacidad y esquinas redondeadas

Estrella

Elipse gradiente

Diferencias entre svg y canvas

SVG es un lenguaje para describir gráficos 2D en XML, mientras que Canvas dibuja gráficos 2D sobre la marcha (con JavaScript).

SVG está basado en XML, lo que significa que todos los elementos están disponibles dentro del DOM de SVG. Puede adjuntar controladores de eventos de JavaScript a gráficos SVG.

En SVG, cada forma dibujada se recuerda como un objeto. Si se cambian los atributos de un objeto SVG, el navegador puede volver a representar la forma automáticamente.

Canvas se representa píxel a píxel. En el canvas, una vez dibujado el gráfico, el navegador lo olvida. Si se debe cambiar su posición, es necesario volver a dibujar toda la escena, incluidos los objetos que puedan haber sido cubiertos por el gráfico.

Comparación entre svg y canvas

La siguiente tabla muestra algunas diferencias importantes entre Canvas y SVG:

SVGCanvas
Resolución independienteResolución dependiente
Soporte para controladores de eventosNo hay soporte para controladores de eventos
Buenas capacidades de representación de textoPobres capacidades de representación de texto
Representación lenta si es complejaPuedes guardar la imagen resultante como .png o .jpg
No apto para aplicaciones de juegosMuy adecuado para juegos con uso intensivo de gráficos

Aprende más sobre SVG

Para aprender más sobre <svg>, ve al tutorial HTML SVG de W3Schools y aprende gratis.

El contenido de este artículo fue inspiración original del tutorial HTML SVG Graphics de W3Schools.


"La mejor manera de aprender a programar es practicando todos los días"