stringtranslate.com

SVG

Scalable Vector Graphics ( SVG ) es un formato de imagen vectorial basado en XML para definir gráficos bidimensionales , con soporte para interactividad y animación. La especificación SVG es un estándar abierto desarrollado por el World Wide Web Consortium desde 1999.

Las imágenes SVG se definen en un formato de gráficos vectoriales y se almacenan en archivos de texto XML. De este modo, las imágenes SVG se pueden escalar en tamaño sin pérdida de calidad, y los archivos SVG se pueden buscar , indexar , programar y comprimir . Los archivos de texto XML se pueden crear y editar con editores de texto o editores de gráficos vectoriales y se procesan en la mayoría de los navegadores web .

La adopción temprana fue limitada debido a la falta de soporte en versiones anteriores de Internet Explorer. Sin embargo, a partir de 2011, todos los principales navegadores de escritorio comenzaron a admitir SVG. La compatibilidad con el navegador nativo ofrece varias ventajas, como no requerir complementos, permitir que SVG se mezcle con otro contenido y mejorar la confiabilidad de la representación y las secuencias de comandos. El soporte móvil para SVG existe en varias formas, con diferentes dispositivos y navegadores compatibles con SVG Tiny 1.1 o 1.2. SVG se puede producir utilizando editores de gráficos vectoriales y renderizarse en formatos rasterizados. En aplicaciones basadas en web, Inline SVG permite incrustar contenido SVG dentro de documentos HTML.

A pesar de sus beneficios, SVG puede plantear riesgos de seguridad si se utiliza para imágenes, ya que puede alojar secuencias de comandos o CSS, lo que podría provocar ataques de secuencias de comandos entre sitios u otras vulnerabilidades.

Historia

SVG ha estado en desarrollo dentro del Consorcio World Wide Web (W3C) desde 1999 después de que se presentaron al consorcio seis propuestas competitivas para lenguajes de gráficos vectoriales durante 1998 (ver más abajo). [3]

El primer grupo de trabajo de SVG decidió no desarrollar ninguna de las presentaciones comerciales, sino crear un nuevo lenguaje de marcado que se basara en ninguna de ellas, pero no se basara realmente en ellas. [3]

SVG fue desarrollado por el Grupo de Trabajo SVG del W3C a partir de 1998, después de que ese año se recibieran seis presentaciones de gráficos vectoriales competitivos:

El grupo de trabajo estaba presidido en ese momento por Chris Lilley del W3C.

La especificación SVG se actualizó a la versión 1.1 en 2011. Scalable Vector Graphics 2 se convirtió en una recomendación candidata del W3C el 15 de septiembre de 2016. SVG 2 incorpora varias características nuevas además de las de SVG 1.1 y SVG Tiny 1.2. [9]

Versión 1.x

Versión 2

SVG 2 elimina o desaproba algunas características de SVG 1.1 e incorpora nuevas características de HTML5 y Web Open Font Format : [18]

SVG 2 alcanzó la etapa de Candidata a Recomendación el 15 de septiembre de 2016, [20] y las versiones revisadas se publicaron el 7 de agosto de 2018 y el 4 de octubre de 2018. [21] El último borrador se publicó el 8 de marzo de 2023. [22]

Características

Esta imagen ilustra la diferencia entre imágenes de mapa de bits y vectoriales. La imagen de mapa de bits se compone de un conjunto fijo de píxeles, mientras que la imagen vectorial se compone de un conjunto fijo de formas. En la imagen, al escalar el mapa de bits se revelan los píxeles, mientras que al escalar la imagen vectorial se conservan las formas.

SVG admite interactividad, animación y capacidades gráficas ricas, lo que lo hace adecuado tanto para aplicaciones web como de impresión. Las imágenes SVG se pueden comprimir con el algoritmo gzip, lo que da como resultado archivos SVGZ que suelen ser entre un 20 y un 50 % más pequeños que el original. SVG también admite metadatos, lo que permite una mejor indexación, búsqueda y recuperación de contenido SVG.

SVG permite tres tipos de objetos gráficos: formas de gráficos vectoriales (como trazados que constan de líneas rectas y curvas), imágenes de mapa de bits y texto. Los objetos gráficos se pueden agrupar, diseñar, transformar y componer en objetos previamente renderizados . El conjunto de funciones incluye transformaciones anidadas , trazados de recorte , máscaras alfa , efectos de filtro y objetos de plantilla. Los dibujos SVG pueden ser interactivos y pueden incluir animación , definida en los elementos XML de SVG o mediante secuencias de comandos que acceden al modelo de objetos de documento (DOM) de SVG.

SVG usa CSS para diseñar y JavaScript para secuencias de comandos. El texto, incluida la internacionalización y la localización , que aparece en texto sin formato dentro del DOM de SVG, mejora la accesibilidad de los gráficos SVG. [15]

Impresión

Aunque la especificación SVG se centra principalmente en el lenguaje de marcado de gráficos vectoriales , su diseño incluye las capacidades básicas de un lenguaje de descripción de páginas como el PDF de Adobe . Contiene disposiciones para gráficos enriquecidos y es compatible con CSS para fines de estilo. SVG tiene la información necesaria para colocar cada glifo e imagen en una ubicación elegida en una página impresa. [23]

Guión y animación

Los dibujos SVG pueden ser dinámicos e interactivos. Las modificaciones de los elementos basadas en el tiempo se pueden describir en SMIL o se pueden programar en un lenguaje de secuencias de comandos (por ejemplo, JavaScript ). El W3C recomienda explícitamente SMIL como estándar para la animación en SVG. [24]

Se puede asignar un amplio conjunto de controladores de eventos como "onmouseover" y "onclick" a cualquier objeto gráfico SVG para aplicar acciones y eventos.

Perfiles móviles

Debido a la demanda de la industria, se introdujeron dos perfiles móviles con SVG 1.1: SVG Tiny (SVGT) y SVG Basic (SVGB).

Estos son subconjuntos del estándar SVG completo, destinados principalmente a agentes de usuario con capacidades limitadas. En particular, SVG Tiny se definió para dispositivos móviles muy restringidos, como teléfonos móviles ; no admite estilos ni secuencias de comandos. [25] SVG Basic se definió para dispositivos móviles de nivel superior, como teléfonos inteligentes .

En 2003, el 3GPP , un grupo internacional de estándares de telecomunicaciones, adoptó SVG Tiny como el formato multimedia de gráficos vectoriales obligatorio para los teléfonos de próxima generación. SVGT es el formato de gráficos vectoriales requerido y la compatibilidad con SVGB es opcional para el Servicio de mensajería multimedia (MMS) y el Servicio de transmisión por secuencias conmutados por paquetes. [26] [27] [28] Fue más tarde [ ¿cuándo? ] agregado como formato requerido para gráficos vectoriales en el Subsistema Multimedia IP (IMS) 3GPP. [29] [30]

Ninguno de los perfiles móviles incluye soporte para el modelo de objetos de documento (DOM) completo, mientras que solo SVG Basic tiene soporte opcional para secuencias de comandos, pero debido a que son subconjuntos totalmente compatibles del estándar completo, la mayoría de los gráficos SVG aún se pueden representar en dispositivos que solo admiten el perfiles móviles. [31]

SVGT 1.2 agrega un microDOM (μDOM), estilo y secuencias de comandos. [25] SVGT 1.2 también incluye algunas características que no se encuentran en SVG 1.1, incluidos los trazos sin escala, que son compatibles con algunas implementaciones de SVG 1.1, como Opera, Firefox y WebKit. A medida que aumentaron las bases de código compartidas entre los navegadores de escritorio y móviles, también aumentó el uso de SVG 1.1 sobre SVGT 1.2.

Compresión

Las imágenes SVG, al ser XML, contienen muchos fragmentos de texto repetidos, por lo que son muy adecuadas para algoritmos de compresión de datos sin pérdidas . Cuando una imagen SVG se ha comprimido con el algoritmo gzip , se la denomina imagen "SVGZ" y utiliza la .svgzextensión de nombre de archivo correspondiente. Los visores compatibles con SVG 1.1 mostrarán imágenes comprimidas. [32] Un archivo SVGZ suele tener entre un 20 y un 50 por ciento del tamaño original. [33] W3C proporciona archivos SVGZ para probar la conformidad. [34]

Diseño

La especificación SVG 1.1 define 14 áreas funcionales o conjuntos de características: [11]

Caminos
Los contornos de formas simples o compuestas se dibujan con líneas curvas o rectas que se pueden rellenar, delinear o utilizar como trazado de recorte . Los caminos tienen una codificación compacta.
Por ejemplo, M(para "mover a") precede a las coordenadas numéricas x e y iniciales , y (para "línea a") precede a un punto hasta el cual se debe dibujar una línea. Otras letras de comando ( , , , y ) preceden a los datos que se utilizan para dibujar varias curvas Bézier y elípticas . Se utiliza para cerrar un camino.LCSQTAZ
En todos los casos, las coordenadas absolutas siguen a los comandos de letras mayúsculas y las coordenadas relativas se utilizan después de las letras minúsculas equivalentes. [35]
Formas básicas
Se pueden dibujar trazados en línea recta y trazados formados por una serie de segmentos de línea recta conectados (polilíneas), así como polígonos cerrados, círculos y elipses. Los rectángulos y los rectángulos de esquinas redondeadas también son elementos estándar. [36]
Texto
El texto de caracteres Unicode incluido en un archivo SVG se expresa como datos de caracteres XML . Son posibles muchos efectos visuales y la especificación SVG maneja automáticamente texto bidireccional (para componer una combinación de texto en inglés y árabe, por ejemplo), texto vertical (como se puede escribir en chino o japonés) y caracteres a lo largo de una trayectoria curva (como el texto alrededor del borde del Gran Sello de los Estados Unidos ). [37]
Cuadro
Las formas SVG se pueden rellenar y delinear (pintar con un color, un degradado o un patrón). Los rellenos pueden ser opacos o tener cualquier grado de transparencia.
Los "marcadores" son características de final de línea, como puntas de flecha o símbolos que pueden aparecer en los vértices de un polígono. [38]
Color
Los colores se pueden aplicar a todos los elementos SVG visibles, ya sea directamente o mediante fill, strokey otras propiedades. Los colores se especifican de la misma manera que en CSS2 , es decir, usando nombres como blacko blue, en hexadecimal como #2f0o #22ff00, en decimal como rgb(255,255,127), o como porcentajes del formulario rgb(100%,100%,50%). [39]
Degradados y patrones
Las formas SVG se pueden rellenar o delinear con colores sólidos como se muestra arriba, o con degradados de color o con patrones repetidos. Los degradados de color pueden ser lineales o radiales (circulares) y pueden incluir cualquier cantidad de colores y repeticiones. También se pueden especificar gradientes de opacidad. Los patrones se basan en objetos de gráficos vectoriales o rasterizados predefinidos, que se pueden repetir en direcciones xy ydirecciones. Los degradados y patrones se pueden animar y programar. [40]
Desde 2008, ha habido discusión [41] [42] entre los usuarios profesionales de SVG sobre la posibilidad de agregar mallas de gradiente o, preferiblemente, curvas de difusión a la especificación SVG. Se dice que una "representación simple [usando curvas de difusión] es capaz de representar incluso efectos de sombreado muy sutiles" [43] y que "las imágenes de curvas de difusión son comparables tanto en calidad como en eficiencia de codificación con mallas de degradado, pero son más sencillas de crear ( según varios artistas que han utilizado ambas herramientas), y se puede capturar desde mapas de bits de forma totalmente automática". [44] El borrador actual de SVG 2 incluye mallas de degradado. [45]
Recorte, enmascaramiento y composición.
Los elementos gráficos, incluidos texto, trazados, formas básicas y combinaciones de estos, se pueden utilizar como contornos para definir regiones interiores y exteriores que se pueden pintar (con colores, degradados y patrones) de forma independiente. Se combinan trazados de recorte totalmente opacos y máscaras semitransparentes para calcular el color y la opacidad de cada píxel de la imagen final, mediante combinación alfa . [46]
Efectos de filtro [47]
Un efecto de filtro consta de una serie de operaciones gráficas que se aplican a un gráfico vectorial de origen determinado para producir un resultado de mapa de bits modificado .
Interactividad
Las imágenes SVG pueden interactuar con los usuarios de muchas maneras. Además de los hipervínculos como se menciona a continuación, cualquier parte de una imagen SVG puede volverse receptiva a eventos de la interfaz de usuario , como cambios de enfoque , clics del mouse, desplazamiento o zoom de la imagen y otros eventos de puntero, teclado y documento. Los controladores de eventos pueden iniciar, detener o alterar animaciones, así como activar scripts en respuesta a dichos eventos. [48]
Enlace
Las imágenes SVG pueden contener hipervínculos a otros documentos, utilizando XLink . Mediante el uso del <view>elemento o un identificador de fragmento , las URL pueden vincular a archivos SVG que cambian el área visible del documento. Esto permite crear estados de vista específicos que se utilizan para acercar o alejar un área específica o para limitar la vista a un elemento específico. Esto es útil al crear sprites . El soporte XLink en combinación con el <use>elemento también permite vincular y reutilizar elementos internos y externos. Esto permite a los programadores hacer más con menos marcado y genera un código más limpio. [49]
secuencias de comandos
Se puede acceder y manipular todos los aspectos de un documento SVG mediante scripts de forma similar a HTML. El lenguaje de secuencias de comandos predeterminado es JavaScript y hay objetos de modelo de objetos de documento (DOM) definidos para cada elemento y atributo SVG. Los scripts están encerrados en <script>elementos. Pueden ejecutarse en respuesta a eventos de puntero, eventos de teclado y eventos de documento según sea necesario. [50]
Animación
El contenido SVG se puede animar utilizando elementos de animación integrados como y <animate>. El contenido se puede animar manipulando el DOM utilizando ECMAScript y los temporizadores integrados del lenguaje de secuencias de comandos. La animación SVG ha sido diseñada para ser compatible con las versiones actuales y futuras del lenguaje de integración multimedia sincronizado (SMIL). Las animaciones pueden ser continuas, pueden repetirse y repetirse, y pueden responder a eventos del usuario, como se mencionó anteriormente. [51]<animateMotion><animateColor>
Fuentes
Al igual que con HTML y CSS, el texto en SVG puede hacer referencia a archivos de fuentes externos, como las fuentes del sistema. Si los archivos de fuentes requeridos no existen en la máquina donde se procesa el archivo SVG, es posible que el texto no aparezca como se esperaba. Para superar esta limitación, el texto se puede mostrar en una fuente SVG , donde los glifos requeridos se definen en SVG como una fuente a la que luego se hace referencia desde el <text>elemento. [52]
Metadatos
De acuerdo con la iniciativa de Web Semántica del W3C , SVG permite a los autores proporcionar metadatos sobre el contenido SVG. La función principal es el elemento donde se puede describir el documento utilizando las propiedades de metadatos Dublin Core (por ejemplo, título, creador/autor, tema, descripción, etc.). También se pueden utilizar otros esquemas de metadatos. Además, SVG define elementos en los que los autores también pueden proporcionar material descriptivo en texto plano dentro de una imagen SVG para ayudar a la indexación, la búsqueda y la recuperación por diversos medios. [53]<metadata><title><desc>

Un documento SVG puede definir componentes que incluyen formas, degradados, etc., y utilizarlos repetidamente. Las imágenes SVG también pueden contener gráficos rasterizados , como imágenes PNG y JPEG , y otras imágenes SVG.

Este código producirá las formas coloreadas que se muestran en la imagen, excluyendo la cuadrícula y las etiquetas:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3. org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width= "391" height= "391" viewBox= "-70.5 -70.5 391 391" xmlns= "http://www.w3.org/ 2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" > <rect fill= "#fff" trazo= "#000" x= "-70" y= "-70" ancho= "390" alto= "390" /> <g opacidad= "0.8" > <rect x= "25" y= "25" ancho= "200" alto= "200" relleno= "lima" ancho-trazo = "4" trazo = "rosa" /> <círculo cx = "125" cy = "125" r = "75" relleno = "naranja" /> < puntos de polilínea = "50,150 50,200 200,200 200,100" trazo = "rojo" ancho-trazo= "4" relleno= "ninguno" /> <línea x1= "50" y1= "50" x2= "200" y2= "200" trazo= "azul" ancho-trazo= "4" /> </g> </svg>                                     

Implementación

El uso de SVG en la web estaba limitado por la falta de soporte en versiones anteriores de Internet Explorer (IE). Muchos sitios web que ofrecen imágenes SVG también proporcionan imágenes en formato rasterizado , ya sea automáticamente mediante negociación de contenido HTTP o permitiendo al usuario elegir directamente el archivo.

navegadores web

Konqueror fue el primer navegador que admitió SVG en la versión 3.2 en febrero de 2004. [54] A partir de 2011, todos los principales navegadores de escritorio, y muchos de los menores, tienen algún nivel de soporte SVG. Las implementaciones de otros navegadores aún no están completas; consulte la comparación de motores de diseño para obtener más detalles.

Algunas versiones anteriores de Firefox (por ejemplo, versiones entre 1.5 y 3.6 [55] ), así como algunos otros navegadores web ahora obsoletos capaces de mostrar gráficos SVG, los necesitaban incrustados <object>o <iframe> elementos para mostrarlos integrados como partes de un HTML. página web en lugar de utilizar la forma estándar de integrar imágenes con <img>. [56] Sin embargo, las imágenes SVG pueden incluirse en páginas XHTML utilizando espacios de nombres XML . [57]

Tim Berners-Lee , el inventor de la World Wide Web , criticó las primeras versiones de Internet Explorer por no soportar SVG. [58]

El soporte nativo y completo tiene varias ventajas: no se necesitan complementos , SVG se puede mezclar libremente con otro contenido en un solo documento y la renderización y las secuencias de comandos se vuelven considerablemente más confiables. [68]

Dispositivos móviles

La compatibilidad con SVG puede estar limitada a SVGT en teléfonos inteligentes más antiguos o más limitados o puede estar limitada principalmente por su respectivo sistema operativo. Adobe Flash Lite admite opcionalmente SVG Tiny desde la versión 1.1. En la conferencia SVG Open 2005, Sun demostró una implementación móvil de SVG Tiny 1.1 para la plataforma Connected Limited Device Configuration (CLDC). [69]

Los móviles que utilizan Opera Mobile , así como el navegador integrado del iPhone , también incluyen soporte SVG. Sin embargo, aunque usaba el motor WebKit , el navegador integrado de Android no era compatible con SVG antes de la versión 3.0 (Honeycomb). [70] Antes de la versión 3.0, Firefox Mobile 4.0b2 (beta) para Android fue el primer navegador que se ejecutaba en Android y admitía SVG de forma predeterminada. [71]

El nivel de compatibilidad con SVG Tiny disponible varía de un móvil a otro, según el motor SVG instalado. Muchos productos móviles más nuevos admiten funciones adicionales además de SVG Tiny 1.1, como degradado y opacidad; A veces se lo denomina "SVGT 1.1+", aunque no existe tal estándar.

BlackBerry de RIM tiene soporte integrado para SVG Tiny 1.1 desde la versión 5.0. [72] El soporte continúa para el navegador BlackBerry Torch basado en WebKit en OS 6 y 7. [73]

La plataforma S60 de Nokia tiene soporte integrado para SVG. Por ejemplo, los iconos generalmente se representan utilizando el motor SVG de la plataforma. Nokia también ha liderado el grupo de expertos JSR 226: API de gráficos vectoriales 2D escalables que define la API Java ME para presentación y manipulación SVG. Esta API se implementó en S60 Platform 3rd Edition Feature Pack 1 y posteriores. [74] Algunos teléfonos de la Serie 40 también admiten SVG (como el Nokia 6280 ). [ cita necesaria ]

La mayoría de los teléfonos Sony Ericsson que comienzan con K700 (por fecha de lanzamiento) son compatibles con SVG Tiny 1.1. Los teléfonos que comienzan con K750 también admiten funciones como opacidad y degradados. Los teléfonos con Sony Ericsson Java Platform-8 son compatibles con JSR 226. [ cita necesaria ]

Windows Phone admite SVG desde la versión 7.5.

SVG también es compatible con varios dispositivos móviles de Motorola , Samsung , LG y Siemens mobile / BenQ-Siemens . eSVG, una biblioteca de renderizado SVG escrita principalmente para dispositivos integrados , está disponible en algunas plataformas móviles. [75] [76]

Autoría

Las imágenes SVG se pueden producir mediante el uso de un editor de gráficos vectoriales, como Inkscape , Adobe Illustrator , Adobe Flash Professional o CorelDRAW , y renderizarse en formatos de imágenes rasterizadas comunes , como PNG , utilizando el mismo software. Además, editores como Inkscape y Boxy SVG proporcionan herramientas para rastrear imágenes rasterizadas en curvas de Bézier , normalmente utilizando back-ends de rastreo de imágenes como potrace , [77] autotrace e imagetracerjs.

Se puede programar software para representar imágenes SVG utilizando una biblioteca como librsvg utilizada por GNOME desde 2000, Batik y Thor Vector Graphics (ThorVG) desde 2020 para sistemas livianos. Las imágenes SVG también se pueden representar en cualquier formato de imagen popular que se desee utilizando ImageMagick , una utilidad de línea de comandos gratuita (que también utiliza librsvg internamente).

Para aplicaciones basadas en web, el modo de uso denominado Inline SVG permite que el contenido SVG se incruste en un documento HTML mediante una <svg>etiqueta. Sus capacidades gráficas se pueden emplear para crear interfaces de usuario sofisticadas, ya que SVG y HTML comparten contexto, manejo de eventos y CSS.

Otros usos de SVG incluyen incrustación para su uso en procesamiento de textos (por ejemplo, con LibreOffice ) y autoedición (por ejemplo, Scribus ), trazado de gráficos (por ejemplo, gnuplot ) e importación de rutas (por ejemplo, para uso en GIMP o Blender ). Los servicios de aplicaciones Microsoft 365 y Microsoft Office 2019 ofrecen soporte para exportar, [78] importar y editar imágenes SVG. El identificador de tipo uniforme para SVG utilizado por Apple es public.svg-imagey se ajusta a public.imagey public.xml.

Seguridad

Como formato de documento, similar a los documentos HTML, SVG puede alojar scripts o CSS. Este es un problema cuando un atacante puede cargar un archivo SVG en un sitio web, como una imagen de perfil, y el archivo se trata como una imagen normal pero contiene contenido malicioso. [79] Por ejemplo, si un archivo SVG se implementa como una imagen de fondo CSS, o un logotipo en algún sitio web, o en alguna galería de imágenes, cuando la imagen se carga en un navegador se activa un script u otro contenido. Esto podría bloquear el navegador (el ataque de los mil millones de risas ), pero también podría provocar ataques de inyección de HTML y secuencias de comandos entre sitios . Por lo tanto, el W3C estipula ciertos requisitos cuando SVG se utiliza simplemente para imágenes: Seguridad SVG. [80]

El W3C dice que Inline SVG (un archivo SVG cargado de forma nativa en un sitio web) se considera un riesgo menor para la seguridad porque el contenido es parte de un documento mayor, por lo que las secuencias de comandos y CSS no serían inesperadas. [80]

Trabajo relacionado

El estándar MPEG-4 Parte 20 : representación ligera de escenas de aplicaciones (LASeR) y formato de agregación simple (SAF) se basa en SVG Tiny. [81] Fue desarrollado por MPEG ( ISO/IEC JTC 1 /SC29/WG11) y publicado como ISO/IEC 14496-20:2006. [82] Las capacidades SVG se mejoran en MPEG-4 Parte 20 con características clave para servicios móviles, como actualizaciones dinámicas, codificación binaria y representación de fuentes de última generación. [83] SVG también se incluyó en MPEG-4 Parte 11 , en el formato Extensible MPEG-4 Textual (XMT) , una representación textual del contenido multimedia MPEG-4 utilizando XML . [84]

Ver también

Referencias

  1. ^ "Registro de tipo de medio para imagen/svg+xml". W3C . Archivado desde el original el 19 de febrero de 2014 . Consultado el 5 de febrero de 2014 .
  2. ^ San Lorenzo, Simón; Makoto, Murata; Kohn, Dan (enero de 2001). "Tipos de medios XML". Rastreador de datos del IETF . doi : 10.17487/RFC3023 . Archivado desde el original el 24 de agosto de 2011 . Consultado el 5 de febrero de 2014 .
  3. ^ abc "Origen secreto de SVG". Consorcio Mundial de la red . 21 de diciembre de 2007. Archivado desde el original el 24 de diciembre de 2020 . Consultado el 1 de enero de 2011 .
  4. ^ "Gráficos esquemáticos". W3C . Archivado desde el original el 31 de enero de 2022 . Consultado el 19 de julio de 2019 .
  5. ^ Al-Shamma, Nabeel; Robert Ayers; Richard Cohn; Jon Ferraiolo; Martín Newell; Roger K. de Bry; Kevin McCluskey; Jerry Evans (10 de abril de 1998). "Lenguaje de marcado de gráficos de precisión (PGML)". W3C . Archivado desde el original el 16 de diciembre de 2021 . Consultado el 8 de mayo de 2009 .
  6. ^ Mateo, Brian; Brian Dister; John Bowler; Howard Cooperstein; Ajay Jindal; Tuan Nguyen; Peter Wu; Troy Sandal (13 de mayo de 1998). "Lenguaje de marcado vectorial (VML)". W3C . Archivado desde el original el 6 de noviembre de 2021 . Consultado el 8 de mayo de 2009 .
  7. ^ "Lenguaje de marcado de hipergráficos (HGML)". W3C . Archivado desde el original el 7 de abril de 2022 . Consultado el 19 de julio de 2019 .
  8. ^ "Perfil WebCGM". xml.coverpages.org . Archivado desde el original el 14 de agosto de 2022 . Consultado el 4 de marzo de 2019 .
  9. ^ "Gráficos vectoriales escalables (SVG) 2". W3C. Archivado desde el original el 27 de enero de 2017 . Consultado el 28 de enero de 2017 .
  10. ^ Ferraiolo, Jon (4 de septiembre de 2001). "Especificación de gráficos vectoriales escalables (SVG) 1.0". Consorcio Mundial de la red. Archivado desde el original el 11 de mayo de 2008 . Consultado el 24 de febrero de 2010 .
  11. ^ ab Ferraiolo, Jon (16 de agosto de 2011). "Especificación de gráficos vectoriales escalables (SVG) 1.1". Consorcio Mundial de la red. Archivado desde el original el 16 de septiembre de 2012 . Consultado el 14 de abril de 2016 .
  12. ^ Capin, Tolga (15 de junio de 2009). "Perfiles SVG móviles: SVG Tiny y SVG Basic". Consorcio Mundial de la red. Archivado desde el original el 9 de octubre de 2010 . Consultado el 24 de octubre de 2010 .
  13. ^ Andersson, Ola (22 de diciembre de 2008). "Especificación Tiny 1.2 de gráficos vectoriales escalables (SVG)". Consorcio Mundial de la red. Archivado desde el original el 7 de diciembre de 2020 . Consultado el 24 de febrero de 2010 .
  14. ^ Dengler, Patrick (8 de julio de 2010). "Cómo llegar a SVG 2.0: un informe cara a cara del grupo de trabajo de SVG (24 de mayo - 1 de junio de 2010)". Red de desarrolladores de Microsoft . Microsoft . Archivado desde el original el 12 de mayo de 2016 . Consultado el 26 de agosto de 2010 .
  15. ^ ab "Gráficos vectoriales escalables (SVG) 1.1 (segunda edición)". W3C. Archivado desde el original el 24 de septiembre de 2011 . Consultado el 29 de agosto de 2011 .
  16. ^ Brotman, Alex; Adams, J. Trent. "SVG Tiny portátil/seguro". Rastreador de datos del IETF . Archivado desde el original el 14 de febrero de 2021 . Consultado el 9 de febrero de 2021 .
  17. ^ "Guía de implementación". Grupo BIMI . Archivado desde el original el 28 de febrero de 2021 . Consultado el 9 de febrero de 2021 .
  18. ^ ab "Apéndice K: Cambios desde SVG 1.1". Consorcio Mundial de la red. 26 de mayo de 2020. Archivado desde el original el 4 de febrero de 2021 . Consultado el 31 de diciembre de 2020 .
  19. ^ "Capítulo 11: Texto". Consorcio Mundial de la red. 26 de mayo de 2020. Archivado desde el original el 21 de abril de 2021 . Consultado el 31 de diciembre de 2020 .
  20. ^ "Gráficos vectoriales escalables (SVG) 2". Consorcio Mundial de la red. 15 de septiembre de 2016. Archivado desde el original el 9 de septiembre de 2021 . Consultado el 17 de agosto de 2021 .
  21. ^ "Gráficos vectoriales escalables (SVG) 2". Consorcio Mundial de la red. 4 de octubre de 2018. Archivado desde el original el 19 de julio de 2021 . Consultado el 17 de agosto de 2021 .
  22. ^ "Gráficos vectoriales escalables (SVG) 2". Consorcio Mundial de la red. 8 de marzo de 2023. Archivado desde el original el 10 de febrero de 2021 . Consultado el 7 de enero de 2024 .
  23. ^ Álex, Danilo; Fujisawa, junio (2002). "SVG como lenguaje de descripción de páginas". svgopen.org. Archivado desde el original el 29 de mayo de 2010 . Consultado el 24 de febrero de 2010 .
  24. ^ Paul, Festa (9 de enero de 2003). "El W3C lanza un estándar de secuencias de comandos, advertencia". CNET . Archivado desde el original el 17 de mayo de 2011 . Consultado el 24 de febrero de 2010 .
  25. ^ ab "SVG pequeño 1.2". Especificación de gráficos vectoriales escalables (SVG) Tiny 1.2 . W3C . 22 de diciembre de 2008. Archivado desde el original el 30 de enero de 2014 . Consultado el 5 de marzo de 2014 .
  26. ^ "SVG en servicios de transmisión y mensajería multimedia 3GPP (versión de marzo de 2003)". SVG abierto. 2003. Archivado desde el original el 26 de junio de 2009 . Consultado el 19 de octubre de 2009 .
  27. ^ "Servicio de mensajería multimedia (MMS) 3GPP; códecs y formatos multimedia (versión 5); 3GPP TS 26.140 V5.2.0 (2002-12); Especificación técnica" ( doc comprimido ) . 3GPP . 2 de enero de 2003. Archivado desde el original el 8 de febrero de 2007 . Consultado el 25 de febrero de 2010 .
  28. ^ "Proyecto de asociación de tercera generación; aspectos del sistema y servicios del grupo de especificaciones técnicas; servicio de mensajería multimedia (MMS); códecs y formatos de medios (versión 5)" ( documento comprimido ) . 3GPP TS 26.140 V5.2.0 (2002-12) . 3GPP . Marzo de 2003. Archivado desde el original el 12 de febrero de 2007 . Consultado el 24 de febrero de 2010 .
  29. ^ "Detalle de la especificación 3GPP - 3GPP TS 26.141: presencia y mensajería del sistema multimedia IP (IMS); códecs y formatos de medios". 3GPP . 10 de diciembre de 2009. Archivado desde el original el 7 de octubre de 2008 . Consultado el 24 de febrero de 2010 .
  30. ^ "Creación de sitios web interactivos utilizando gráficos vectoriales escalables (SVG) - [con ejemplos]". Intelegain.com. Archivado desde el original el 29 de noviembre de 2018 . Consultado el 21 de noviembre de 2018 .{{cite web}}: Mantenimiento CS1: bot: estado de la URL original desconocido ( enlace )
  31. ^ "Listado de teléfonos compatibles con SVG". SVG.org. Archivado desde el original el 8 de enero de 2010 . Consultado el 24 de octubre de 2010 .
  32. ^ Consulte www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers , que establece: "Las implementaciones de SVG deben admitir correctamente flujos de datos codificados con gzip [RFC1952] y codificados con desinflado [RFC1951], para cualquier tipo de contenido (incluido SVG, archivos de script, imágenes)".
  33. ^ "Guardar SVG comprimido (SVGZ)". Zona SVG . Sistemas Adobe . 14 de julio de 2009. Archivado desde el original el 1 de junio de 2010 . Consultado el 24 de febrero de 2010 .
  34. ^ Por ejemplo, dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/conform-viewers-01-t.html
  35. ^ "Especificación SVG", Rutas"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 21 de junio de 2012 . Consultado el 19 de octubre de 2009 .
  36. ^ "Especificación SVG", Formas básicas"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 2 de octubre de 2009 . Consultado el 19 de octubre de 2009 .
  37. ^ "Especificación SVG", Texto"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 6 de octubre de 2009 . Consultado el 19 de octubre de 2009 .
  38. ^ "Especificación SVG", Pintura: símbolos de relleno, trazo y marcador"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 17 de septiembre de 2009 . Consultado el 19 de octubre de 2009 .
  39. ^ "Especificación SVG", Color"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 7 de septiembre de 2009 . Consultado el 19 de octubre de 2009 .
  40. ^ "Especificación SVG", Degradados y patrones"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 21 de septiembre de 2009 . Consultado el 19 de octubre de 2009 .
  41. ^ "Registro IRC de svg el 17 de noviembre de 2008". W3C. 2008. Archivado desde el original el 10 de octubre de 2016 . Consultado el 25 de mayo de 2009 . DS: Las prioridades deben ser el diseño, las curvas de difusión, 2.5D y asegurarnos de que trabajamos bien con CSS en eso.
  42. ^ "Propuestas para la próxima especificación SVG". W3C. 16 de marzo de 2009. Archivado desde el original el 14 de mayo de 2011 . Consultado el 25 de mayo de 2009 . De hecho, planeamos agregar nuevas capacidades de gradiente a SVG en la próxima versión, y estamos investigando curvas de difusión, que creo que satisfarán sus necesidades... *Curvas de difusión* parece realmente una gran idea.
  43. ^ Rusin, Zack (2008). "SVG en KDE: Libertad de belleza". SVG abierto. Archivado desde el original el 22 de julio de 2009 . Consultado el 25 de mayo de 2009 .
  44. ^ Orzán, Alejandrina; Bousseau, Adrián; Winnemöller, Holger; Barla, Pascal; Thollot, Joëlle; Salesin, David (2008). "Curvas de difusión: una representación vectorial para imágenes con sombras suaves" (PDF) . Transacciones ACM sobre gráficos . 27 . doi :10.1145/1360612.1360691. Archivado (PDF) desde el original el 18 de junio de 2009 . Consultado el 25 de mayo de 2009 .
  45. ^ "Scalable Vector Graphics (SVG) 2, borrador del editor del W3C del 13 de junio de 2013". Grupo de Trabajo SVG. 2013. Archivado desde el original el 4 de diciembre de 2013 . Consultado el 17 de septiembre de 2013 .
  46. ^ "Especificación SVG", recorte, enmascaramiento y composición"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 1 de diciembre de 2009 . Consultado el 19 de octubre de 2009 .
  47. ^ "Especificación SVG", Efectos de filtro"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 28 de agosto de 2006 . Consultado el 19 de octubre de 2009 .
  48. ^ "Especificación SVG", Interactividad"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 5 de julio de 2019 . Consultado el 19 de octubre de 2009 .
  49. ^ "Especificación SVG", secuencias de comandos"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 1 de octubre de 2009 . Consultado el 19 de octubre de 2009 .
  50. ^ "Especificación SVG", Animación"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 27 de agosto de 2006 . Consultado el 19 de octubre de 2009 .
  51. ^ "Especificación SVG", Fuentes"". Consorcio Mundial de la red. 14 de enero de 2003. Archivado desde el original el 26 de septiembre de 2009 . Consultado el 19 de octubre de 2009 .
  52. ^ "Especificación SVG", Metadatos"". Consorcio Mundial de la red. Archivado desde el original el 3 de mayo de 2009 . Consultado el 19 de octubre de 2009 .
  53. ^ Streichardt, Andreas (16 de septiembre de 2003). "KDE conquista los vectores con KSVG". Noticias de KDE . Archivado desde el original el 30 de junio de 2023 . Consultado el 11 de febrero de 2012 .
  54. ^ "Error 276431: SVG externo no cargado desde la etiqueta img". Mozilla. Archivado desde el original el 24 de octubre de 2012 . Consultado el 9 de noviembre de 2011 .[ ¿ integridad del texto-fuente? ]
  55. ^ Lusotec (25 de febrero de 2009). "Imagen SVG no mostrada por Firefox". mozilla.dev.tech.svg . Grupos de Google . Archivado desde el original el 14 de mayo de 2011 . Consultado el 25 de febrero de 2010 .
  56. ^ Brettz9 (25 de agosto de 2008). "Introducción a SVG en HTML". Centro de desarrolladores de Mozilla . Mozilla . Archivado desde el original el 5 de diciembre de 2008 . Consultado el 25 de febrero de 2010 .{{cite web}}: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )
  57. ^ Svensson, Peter (10 de septiembre de 2008). "El creador de la Web detecta una falla en Internet Explorer". Noticias NBC . Associated Press. Archivado desde el original el 9 de noviembre de 2013 . Consultado el 25 de febrero de 2010 .
  58. ^ "SVG en Firefox". Centro de desarrolladores de Mozilla . Mozilla . 23 de octubre de 2009. Archivado desde el original el 23 de junio de 2008 . Consultado el 25 de febrero de 2010 .
  59. ^ "Estado de Mozilla SVG". Mozilla . Archivado desde el original el 5 de marzo de 2010 . Consultado el 25 de febrero de 2010 .
  60. ^ Mgjbot (15 de enero de 2008). "Mejoras de SVG en Firefox 3". Centro de desarrolladores de Mozilla . Mozilla . Archivado desde el original el 9 de febrero de 2014 . Consultado el 25 de febrero de 2010 .
  61. ^ "Estado de WebKit SVG". Kit web . 5 de enero de 2010. Archivado desde el original el 10 de febrero de 2010 . Consultado el 25 de febrero de 2010 .
  62. ^ "Chat de zona de expertos de Windows Internet Explorer 8 (19 de junio de 2008)". Microsoft. 19 de junio de 2008. Archivado desde el original el 17 de marzo de 2010 . Consultado el 24 de octubre de 2010 .
  63. ^ Schiller, Jeff (13 de febrero de 2010). "Soporte SVG". Archivado desde el original el 16 de febrero de 2009 . Consultado el 25 de febrero de 2010 .
  64. ^ "Novedades de Internet Explorer 9". Red de desarrolladores de Microsoft . Microsoft . 22 de marzo de 2011. Archivado desde el original el 5 de abril de 2011 . Consultado el 22 de marzo de 2011 .
  65. ^ "SVG (Windows)". Centro de desarrollo de Internet Explorer . Microsoft . Archivado desde el original el 20 de marzo de 2014 . Consultado el 27 de agosto de 2014 .
  66. ^ "Estado y hoja de ruta de las características de la plataforma web Microsoft Edge: desarrollo de Microsoft Edge". desarrollador.microsoft.com . Archivado desde el original el 15 de abril de 2018 . Consultado el 19 de abril de 2018 .
  67. ^ "Prepárese para la navegación sin complementos". MSDN . 2014. Archivado desde el original el 31 de diciembre de 2014 . Consultado el 5 de marzo de 2014 .
  68. ^ "Conferencia y exposición SVG Open 2005 - Actas - Interfaces de usuario orientadas a dibujos animados". svgopen.org. Archivado desde el original el 3 de diciembre de 2010 . Consultado el 29 de agosto de 2010 .
  69. ^ "El navegador no muestra imágenes SVG". Archivado desde el original el 20 de mayo de 2011 . Consultado el 1 de enero de 2011 .
  70. ^ "Firefox Mobile 4.0b2 (beta) para Android admite imágenes SVG". Problema de Android 1376 . 16 de diciembre de 2010. Archivado desde el original el 21 de agosto de 2014 . Consultado el 29 de enero de 2014 .
  71. ^ "Soporte para SVG". BORDE. Archivado desde el original el 10 de octubre de 2011 . Consultado el 6 de octubre de 2011 .
  72. ^ "BlackBerry Torch, el cuadro de mando para desarrolladores HTML5". Sencha . Archivado desde el original el 5 de marzo de 2014 . Consultado el 6 de octubre de 2011 .
  73. ^ "Información del producto S60". S60.com. Archivado desde el original el 13 de octubre de 2007 . Consultado el 19 de octubre de 2009 .
  74. ^ Jezic, Damir (15 a 17 de julio de 2002). "SVG para sistemas integrados". Zúrich 2002 . svgopen.org. Archivado desde el original el 16 de marzo de 2012 . Consultado el 5 de abril de 2012 .
  75. ^ "eSVG". Software integrado inteligente Intesis . 2010. Archivado desde el original el 3 de marzo de 2012 . Consultado el 29 de enero de 2014 .
  76. ^ Selinger, Peter (2001-2013). "Potrace: transformación de mapas de bits en gráficos vectoriales". Proyecto SourceForge Potrace . Archivado desde el original el 9 de septiembre de 2009 . Consultado el 29 de enero de 2014 .
  77. ^ "Novedades de PowerPoint para Microsoft 365". soporte.microsoft.com . Septiembre de 2019. Archivado desde el original el 13 de marzo de 2021 . Consultado el 17 de abril de 2021 .
  78. ^ Nguyen, Thanh Nguyen (7 de noviembre de 2019). "Anatomía de la superficie de ataque de gráficos vectoriales escalables (SVG) en la Web". Blog de Fortinet . Archivado desde el original el 21 de febrero de 2023 . Consultado el 21 de febrero de 2023 .
  79. ^ ab "Seguridad SVG - Wiki W3C". W3C . Archivado desde el original el 21 de febrero de 2023 . Consultado el 21 de febrero de 2023 .
  80. ^ Concolato, Cyril (julio de 2005). "Informe técnico MPEG-4 LASeR". Organización Internacional de Normalización . Archivado desde el original el 25 de julio de 2011 . Consultado el 29 de agosto de 2010 .
  81. ^ "ISO/IEC 14496-20:2008 - Tecnología de la información - Codificación de objetos audiovisuales - Parte 20: Representación ligera de escenas de aplicaciones (LASeR) y formato de agregación simple (SAF)". Organización Internacional de Normalización . Archivado desde el original el 14 de mayo de 2011 . Consultado el 30 de octubre de 2009 .
  82. ^ "LASeR: el estándar MPEG para servicios Rich Media" (PDF) . Archivado (PDF) desde el original el 21 de febrero de 2011 . Consultado el 11 de abril de 2010 .
  83. ^ Chiariglione, Leonardo (8 de marzo de 2005). "Montar los bits de los medios: bits y bytes". Archivado desde el original el 25 de septiembre de 2010 . Consultado el 30 de octubre de 2009 .

enlaces externos