Gráficos vectoriales escalables SVG
Extensiones | .svg, .svgz |
---|---|
Tipo de Mimica | image/svg+xml |
PUID | fmt / 92 |
Desarrollado por | Consorcio Mundial de la red |
Tipo de formato | Formato de imagen vectorial |
Basado en | Lenguaje de marcado extensible |
Origen de | SVG 1.2 Tiny (móvil) |
Estándar | SVG 1.1 |
Especificación | Formato abierto |
Sitios web |
www.w3.org/Graphics/SVG svgwg.org |
Los Gráficos Vectoriales Escalables (en francés "gráfico vectorial adaptable"), o SVG , es un formato de datos ASCII diseñado para describir conjuntos de gráficos vectoriales y basado en XML . Este formato, inspirado directamente en VML y PGML, está especificado por el World Wide Web Consortium .
SVG fue desarrollado a partir de 1999 por un grupo de empresas dentro del W3C después de competir por las propuestas de Precision Graphics Markup Language (PGML) ofrecidas por Adobe de PostScript y Vector Markup Language (VML) ofrecidas por Microsoft de Rich Text Format (RTF). A esto se le han agregado varias influencias, en particular las hojas de estilo en cascada (CSS).
En Septiembre de 2001, el W3C publica la “ Especificación de gráficos vectoriales escalables (SVG) 1.0, recomendación del W3C ”. Enenero de 2003, el estándar está evolucionando hacia la recomendación en la versión 1.1 con una segunda edición enagosto 2011, que es la versión actual.
En paralelo aparece en diciembre de 2008la recomendación “ Scalable Vector Graphics (SVG) Tiny 1.2 Specification ”, cuyo objetivo es ser utilizable en dispositivos móviles ( teléfono móvil , asistente personal , etc.). Se presenta como un subconjunto de " SVG 1.1 Full ".
La Versión 2 del lenguaje se está definiendo dentro del W3C.
SVG se utiliza ampliamente en el mundo de la cartografía y la telefonía móvil .
Las coordenadas, dimensiones y estructuras de los objetos vectoriales se indican en forma numérica en el documento XML. Un sistema de estilo específico ( CSS o XSL ) le permite indicar los colores y fuentes a utilizar. Este formato gestiona algunas formas geométricas básicas (rectángulos, elipses, etc. ), pero también trazados , que utilizan curvas de Bézier y permiten así obtener casi cualquier forma. El relleno se puede hacer usando degradados ( degradados ) de colores de patrones ( patrón ) que son cualquier objeto SVG, o filtros (llamados sombreadores en imágenes 3D). También puede aplicar patrones a lo largo de las rutas ( marcadores ) y utilizar las funciones de relleno. El canal alfa , por transparencia , se gestiona en todos los niveles.
Como en cualquier documento XML , los objetos se organizan en forma de árbol . El formato permite la integración de animaciones o la manipulación de objetos gráficos mediante programación, en particular gracias a scripts que pueden integrarse en el SVG.
SVG se puede incluir en otros documentos XML, como documentos XHTML o documentos XML para ser procesados por XSL-FO . Respetando el estándar XML, una imagen SVG también se puede manipular a través del Modelo de Objetos de Documento (DOM).
SVG se puede ver de forma nativa con algunos navegadores web o con un complemento (consulte: navegadores SVG ).
Algunos entornos gráficos lo utilizan para la gestión y visualización de iconos e interfaces, como X.org, GNOME , KDE o algunos teléfonos móviles.
El software de gráficos permite modificar fácilmente cada forma, por ejemplo moviendo puntos, o cambiando el color de las líneas ... Lo mismo ocurre con el texto que se puede modificar sin tocar las formas, lo que facilita enormemente la modificación de diagramas, por ejemplo para traducciones.
El siguiente código muestra un rectángulo, un segmento, un círculo y un texto:
Código XML <?xml version="1.0" encoding="utf-8"?> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="200"> <title>Exemple simple de figure SVG</title> <desc> Cette figure est constituée d'un rectangle, d'un segment de droite et d'un cercle. </desc> <rect width="100" height="80" x="0" y="70" fill="green" /> <line x1="5" y1="5" x2="250" y2="95" stroke="red" /> <circle cx="90" cy="80" r="50" fill="blue" /> <text x="180" y="60">Un texte</text> </svg> | Imagen correspondiente |
Es posible utilizar el formato SVG para imágenes más complejas (ilustración de Plate Tectonics ).
La compatibilidad con SVG es posible en diferentes niveles: complemento en el navegador, en el nivel de la aplicación (navegador o software de edición SVG), en el entorno de escritorio ( KDE , por ejemplo) o en el nivel de "hardware" (teléfono).
Algunos editores visuales vienen con un editor de texto. A veces, este modo de texto admite la finalización y el resaltado de sintaxis para ayudar a escribir SVG.
Modo de texto XMLLa creación de un documento de imagen vectorial a partir de una imagen rasterizada se puede realizar de diferentes formas que correspondan a diferentes usos. Se puede hacer de forma sencilla y automática a la hora de mantener la apariencia de una imagen de “línea”. La creación de un documento de imagen vectorial puede requerir el uso de software especializado con, posiblemente, la intervención de un operador, si se trata de crear un documento de imagen vectorial donde los componentes de la imagen (los segmentos que componen las rutas por ejemplo) puede tener diferentes significados. Es el caso de la vectorización de un mapa escaneado que comprende objetos cuya diferenciación es interesante preservar: límite de curso de agua, límites de caminos, límites de bosques, etc.
De entornos gráficos que utilizan el formato SVG: X.Org , GNOME y KDE , y muchos teléfonos móviles, como Sony Ericsson . Acorn RISC OS también incluye soporte nativo para un formato vectorial llamado Acorn Draw , similar a SVG.
La representación SVG está integrada en HTML5 ( <svg>y etiquetas </svg>) y la mayoría de los navegadores web la admiten de forma nativa desde 2010.
Soporte nativo de SVGEl complemento para SVG no se mantiene actualmente, al menos para el navegador Internet Explorer . Solo queda el complemento KSVG.
La implementación del renderizado SVG para dispositivos móviles ( PDA , teléfonos móviles) se realiza de forma nativa (Ikivo, Bitflash Adobe) o mediante software de navegador (navegadores Java Sun, Opera Mini y iPhone Safari).
El estándar admitido por estos dispositivos depende del fabricante del teléfono y de la versión instalada. La mayoría de las versiones admiten el estándar SVG Tiny 1.1 y, a veces, 1.1+ con soporte de módulo adicional (degradado y opacidad).
Nokia soporta SVG representación internamente para su plataforma Nokia S60 o basado en Java estándares JSR 226 , para Java ME plataforma S60 ( 3 ª Edición SP1 ). Otras series como la 6280 también admiten SVG.
La mayoría de los teléfonos Sony Ericsson están comenzando a admitir SVG Tiny 1.1 como el K700 y 1.1+ como el K750 (pl) , C905 , W890 (en) y W995 .
Los dispositivos que admiten la plataforma java ME y el estándar JSR 226 también admiten el renderizado SVG 1.1+ .
SVG también es compatible con modelos fabricados por Motorola , Samsung , LG o Siemens , Sony .
El estándar SVG no permite la creación de puntos de articulación , como nodos en un gráfico. La noción de puntero no existe en SVG , lo que hace que la descripción de escenas dinámicas sea compleja.
SVG no heredó todas las propiedades de su VML principal directo , como el degradado "GradientTitle", la sombra de tipo "Perspectiva", la "Extrusión" 3D, el relleno de trazo automático , el relleno automático -oscuro , el texto de ajuste automático- ajustar , etc. Existen alternativas ficticias, pero hacen que los archivos SVG sean más pesados y más lentos de mostrar.
Finalmente, SVG es soportado mayoritariamente por navegadores solo en su versión 1.1 , que no permite el uso de control de flujo (flowRoot, flowRegion) y por tanto no permite por ejemplo hacer texto que se adapte a su contenedor y devuelva automáticamente nuevas líneas.