Scalable Vector Graphics

De Wikipedia, la enciclopedia libre

(Redirigido desde Svg)
Imagen estática generada desde un ejemplo SVG. El fichero original requiere un navegador con soporte nativo o mediante plugin
Imagen estática generada desde un ejemplo SVG. El fichero original requiere un navegador con soporte nativo o mediante plugin

Scalable Vector Graphics (SVG) es un lenguaje para describir gráficos vectoriales bidimensionales, tanto estáticos como animados (estos últimos con ayuda de SMIL), en XML.

SVG se convirtió en una recomendación del W3C en septiembre de 2001, por lo que ya ha sido incluido de forma nativa en el navegador web del W3C Amaya. La versión 1.5 de Mozilla Firefox soporta gráficos hechos con SVG y desde su versión 8, también el navegador Opera ha implementado SVG 1.1 Tiny en su núcleo. Otros navegadores web, como Internet Explorer, necesitan un conector o plug-in, para lo que se puede utilizar el Visualizador SVG de Adobe.

SVG rivaliza con Macromedia Flash en términos de potencial y poder, con la diferencia de que el primero es un estándar abierto.

Tabla de contenidos

[editar] Vista general

La imagen ilustra una diferencia entre mapas de bits e imágenes vectoriales. La imagen vectorial puede ser escalada, tanto como se requiera, sin perdida de calidad de imagen. Esto no es así con un mapa de bits.
La imagen ilustra una diferencia entre mapas de bits e imágenes vectoriales. La imagen vectorial puede ser escalada, tanto como se requiera, sin perdida de calidad de imagen. Esto no es así con un mapa de bits.

El SVG permite tres tipos de objetos gráficos:

Los objetos gráficos pueden ser agrupados, transformados y compuestos en objetos previamente renderizados, y pueden recibir un estilo común. El texto puede estar en cualquier espacio de nombres XML admitido por la aplicación, lo que mejora la posibilidad de búsqueda y la accesibilidad de los gráficos SVG. El juego de características incluye las transformaciones anidadas, los clipping paths, las máscaras alfa, los filtros de efectos, las plantillas de objetos y la extensibilidad.

El dibujado de los SVG puede ser dinámico e interactivo. El Document Object Model (DOM) para SVG, que incluye el DOM XML completo, permite animaciones de gráficos vectoriales sencillas y eficientes mediante ECMAScript o SMIL. Un juego amplio de manejadores de eventos, como "onMouseOver" y "onClick", pueden ser asignados a cualquier objeto SVG. Debido a su compatibilidad y relación con otras normas Web, características como el scripting pueden ser aplicadas a elementos SVG y a otros elementos XML desde distintos espacios de nombre XML simultáneamente dentro de la misma página web. Un ejemplo extremo de esto es un juego completo de tetris realizado como un objeto SVG, disponible aquí. (El enlace requiere un navegador con soporte de SVG).

Si el espacio de almacenamiento es un problema, las imágenes SVG pueden salvarse comprimidas con gzip, en cuyo caso pasan a ser imágenes SVGZ. Debido a la verbosidad del XML, este tiende a comprimirse muy bien, y estos ficheros pueden ser mucho más pequeños. Aun así, a menudo el fichero vectorizado original (SVG) es más pequeño que la versión de mapa de bits.

[editar] Impacto en la Web

La amplia adopción de clientes SVG, particularmente aquellos integrados nativamente en los navegadores, como Firefox, Opera, Konqueror o Safari, puede traer un significativo cambio de imagen en la Web. Una tendencia actual es construir sitios web dinámicos que se comportan como aplicaciones de escritorio, usando AJAX. SVG amplía las posibilidades de AJAX, proveyendo de un juego gráfico más rico a los elementos de la página, más allá de los especificados mediante HTML/CSS. El módulo terminal SVG de Firefox es un ejemplo inicial de esto.

[editar] Complejidad

A pesar de ser un lenguaje vectorial, SVG permite crear imágenes complejas, como se aprecia en este gráfico:

Imagen en svg representando un mapa de Kosovo.
Imagen en svg representando un mapa de Kosovo.

[editar] Navegadores

  • Firefox: implementa SVG en forma nativa desde su versión 1.5. A través del tiempo fue mejorando el cumplimiento del estándar, pero con alto consumo de procesador. En la nueva versión 3 de Firefox se puede comprobar que el render SVG se ha modificado y mejorado.
  • Opera: al igual que Firefox también implementa SVG en forma nativa, pero con poco consumo de procesador.

La versión 9.5 Beta, incorpora la posibilidad de llamar en forma externa a una imagen en formato svg. Usando <image> o <use>.

  • MSIE: No implementa SVG, por lo que se debe conseguir una extensión de la firma Adobe. Este módulo externo no permite mezclar SVG con HTML (XHTML) por lo que la funcionalidad es menor que con los navegadores mencionados arriba. Microsoft no ve con futuro a este estándar por lo que apostó al VML el cual tiene mucha menos funcionalidad que el SVG.
  • Safari (navegador): Su versión 3.1 (para computadores con sistema operativo Windows o Mac OS X) implementa SVG tanto para imágenes como para texto avanzado.

[editar] Véase también

[editar] Enlaces externos

[editar] Ejemplos

Herramientas personales