fbpx
Wikipedia

Gráficos vectoriales escalables

Los gráficos vectoriales escalables o gráficos vectoriales redimensionables (del inglés: Scalable Vector Graphics (SVG)) es un formato de gráficos vectoriales bidimensionales, tanto estáticos como animados, en formato de lenguaje de marcado extensible XML (Extensible Markup Language), es decir que se compone por código y cuya especificación es un estándar abierto desarrollado por el W3C desde 1999.

Gráficos vectoriales escalables
Desarrollador
World Wide Web Consortium
w3.org/Graphics/SVG/
Información general
Extensión de archivo .svg, .svgz
Tipo de MIME image/svg+xml[1]
Uniform Type Identifier public.svg-image
Lanzamiento inicial 4 de septiembre de 2001
Última versión 1.1 (segunda edición)
16 de agosto de 2011 (9 años, 11 meses y 25 días)
Tipo de formato Gráfico vectorial
Extendido de XML
Formato abierto  
Imagen estática generada desde un ejemplo SVG. El fichero original requiere un navegador con soporte nativo o mediante plugin.

Las imágenes SVG y sus comportamientos se definen en archivos de texto XML. Esto significa que se pueden buscar, indexar, codificar y comprimir. Como archivos XML, las imágenes SVG se pueden crear y editar con cualquier editor de texto o comúnmente editor de código, así como con software de dibujo.

El SVG es un lenguaje usado para dibujar y representar gráficos, imágenes y logotipos, o sea que son gráficos que pueden manipularse con CSS y JavaScript. Estos gráficos fueron creados para que se puedan representar o renderizar en la web y en los navegadores. Además, este lenguaje de marcado 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. Las versiones 1.5 y posteriores de Mozilla Firefox soportan gráficos hechos con SVG, así como el navegador Opera, que desde su versión 8 ha implementado SVG 1.1 Tiny en su núcleo. Navegadores como Google Chrome, Safari e Internet Explorer 9 también son capaces de mostrar imágenes en formato SVG sin necesidad de complementos externos. Otros navegadores web como versiones anteriores a la 9 de Internet Explorer necesitan un conector o plug-in.

Los dibujos, imágenes o gráficos SVG, a diferencia de los dibujos en otros formatos como los Webp, JPG, PNG, TIFF (Rasters) entre otros, pueden ser interactivos y dinámicos y esto se debe a que no se componen por mapa de bits, sino que están compuestos por vectores, que son instrucciones matemáticas que se le dan al navegador o programas de ediciones de estos gráficos vectoriales, para escalarlos de manera infinita y no perder resolución o calidad en la imagen, dibujo, etcétera.

Orígenes

En 1996, Chris Liley redactó para el W3C un documento con directrices sobre los posibles requerimientos para integrar un formato estándar de archivo para describir elementos gráficos vectoriales. Para 1998 varias empresas habían turnado propuestas a este organismo, de las cuales dos principalmente sirvieron como base para los borradores que constituirían el SVG: el VML desarrollado por Microsoft para su formato de documentos RTF y el PGML desarrollado entonces por Adobe en coordinación con IBM, Netscape y SUN. Tras la publicación del estándar SVG, Microsoft disoció el VML arguyendo que era un producto ya en el mercado, mientras que Adobe celebró abiertamente estandarización del PGML; el soporte para SVG fue integrado a distintos productos de software de esta última compañía como Adobe Illustrator y el visualizador de archivos ASV.[2]

Contenido general

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

Ventajas de SVG[3]

Las ventajas de usar SVG sobre otros formatos de imagen son que estas se pueden:

  • Crear y editar con cualquier editor de texto
  • Buscar, indexar, codificar y comprimir
  • imprimir con alta calidad en cualquier resolución
  • ampliar sin perder calidad de imagen o gráfico,
  • Los gráficos SVG NO pierden calidad si se amplían o cambian de tamaño
  • Las imágenes SVG son escalables
  • SVG es un estándar abierto
  • Los archivos SVG son XML puro

SVG usa formato XML

Para poder entender un poco SVG desde el código se debe tener un conocimiento básico de HTML y XML básico.

Por lo tanto debe llevar

  • Etiquetas de apertura y cierre (Al igual que HTML)
  • Atributos.
  • Como dialecto XML, requiere que se defina el namespace, de lo contrario el navegador no lo interpretará correctamente.

Estructura básica de un SVG

El código SVG debe llevar:

  • viewBox.
  • xmlns.
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" >  <title>Estructura basica del SVG</title>  <style>  .circle {fill: blue}  </style>  <circle class="circle" cx="5" cy="5" r="5" /> </svg> 

Tipos de objetos gráficos

La especificación de 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 conjunto de características incluye las transformaciones anidadas, las trayectorias de recorte, 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 modelo 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 conjunto amplio de manejadores de eventos, como "onMouseOver" y "onClick", puede ser asignado a cualquier objeto SVG. Debido a su compatibilidad y relación con otros estándares de 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 y dentro de la misma página web. Un ejemplo extremo de esto es un juego completo de Tetris realizado como un objeto SVG.[4]

Si el espacio de almacenamiento es un problema, las imágenes SVG pueden ser guardadas como archivos comprimidos 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.

El fichero o archivo vectorizado original (SVG) es más pequeño que la versión de mapa de bits exceptuando cualquier programa que fuerza a una vectorialización ya que vectorializa detalles en general de poca utilidad, aproximables por otros métodos o invisibles, a los cuales inserta información oculta y firmas de todo tipo.

Complejidad

 
Tomate en SVG

Por ser un lenguaje vectorial, SVG permite crear imágenes complejas.

Elementos geométricos SVG

Los elementos geométricos son objetos provistos de atributos genéricos básicos y optativos o por defecto.

Todos los objetos se encuentran enmarcados en una ventana, con un ancho (width) y un alto (height) determinados con números enteros. Esta ventana posee un sistema de coordenadas cuyo origen está situado en la parte superior izquierda y en el cual los valores positivos de x y y se orientan a la derecha y hacia abajo respectivamente. Cada valor está determinado con números enteros o con un porcentaje respecto del área de trabajo.

Un sistema de referencia coordenado o un objeto determinado en el estándar se puede modificar mediante transformaciones. El ejemplo que sigue muestra dos transformaciones: una de posición (traslado) del origen de coordenadas, mediante la orden "translate" y otra de escala, usando la orden "scale".

 
Orientación corregida usada habitualmente para representación gráfica
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g transform="translate(50,150)"> <g transform="scale(1,-1)"> ... </g> </g> </svg> 

Atributos

Todos los objetos comparten algunos atributos genéricos:

  • Todo elemento visual de una figura tiene un color con 4 posibles expresiones con el color negro por defecto:
  • Nominalmente: red, yellow, blue, aqua, salmon, tomato, orange, lightgreen, etc.[5]
  • Con valores hexadecimales: #ff0000, #ffff00, etc.
  • Con valores hexadecimales resumidos #abc=#aabbcc: #f00, #ff0, etc.
  • Funcionales: enteros como rgb(255,32,50) o porcentuales como rgb(100%,10%,0%).
  • Toda figura tiene un contorno cuyo grosor y color pueden ser modificados, respectivamente, usando los parámetros stroke-width y stroke.
  • Hay tres tipos de uniones de líneas: stroke-linejoin="miter" (para ángulos menores de 30 grados se aumenta el valor entero del corrector, stroke-miterlimit="4", en caso contrario se transforma en "bevel"), stroke-linejoin="round" y stroke-linejoin="bevel" en la imagen respectivamente.

 

  • Hay tres tipos de extremos de líneas: stroke-linecap="butt", stroke-linecap="round" y stroke-linecap="square" en la imagen respectivamente.

 

  • Se puede añadir bordes intermitentes siguiendo el patrón marcado por sucesiones de enteros con stroke-dasharray como por ejemplo stroke-dasharray="2,3,5,7,11,13".
  • Casi todas las figuras tienen un relleno que puede ser modificado en color, fill, difuminado o filtrado de distintas formas.
  • Toda figura tiene una opacidad, opacity, su valor varía entre 0(transparente) y 1(opaco por defecto).

Líneas

El objeto línea consta básicamente de dos puntos, (x1, y1) y (x2, y2), entre los cuales se dibuja un segmento recto:

<line x1="..." y1="..." x2="..." y2="..." ... />

Rectángulos

El objeto rectángulo consta básicamente de un punto cuya esquina superior izquierda u origen es (x, y), y sus dimensiones están representadas por los parámetros height y width:

<rect x="..." y="..." height="..." width="..." ... />

Círculo

El objeto círculo consta de un punto cuyo centro tiene las coordenadas (cx, cy), y su radio es r:

<circle r="..." cx="..." cy="..." ... />

Elipse

El objeto elipse consta de un punto cuyo centro tiene las coordenadas (cx, cy), un radio horizontal, rx, y un radio vertical, ry:

<ellipse cx="..." cy="..." rx="..." ry="..." ... />

Mixtilínea

 
Muestra de diferentes órdenes de orientación para una misma cadena d

El objeto mixtilínea consta básicamente de puntos unidos por líneas que pueden cerrar o no un espacio. Estos puntos forman cadenas iniciadas con M o m que pueden unirse con otras para formar un todo. El uso de mayúsculas se refiere a valores absolutos de coordenadas y de minúsculas para los valores relativos, es decir, considera el último punto dado como el origen de coordenadas.

<path d="M ... m ... M ... " />

Enlaces entre puntos:

  • Si después de un punto es usada la orden L o l, los puntos siguientes se unen con segmentos rectos.
  • Si después de indicar un punto aparece la orden H o V (para coordenadas absolutas) u h o v (para coordenadas relativas), ambos puntos se unen con una línea horizontal o vertical manteniendo fija la otra coordenada.
  • Si después de un punto es usada la orden Q o q, se genera una curva de Bézier cuadrática, entre el primer punto y el último mediante un punto de control cuyas coordenadas aparecen después de la orden.
  • T o t enlaza curvas de Bézier cuadráticas previamente trazadas, sucesivamente calculando cada vez de manera automática un punto de control.
  • Si después de un punto aparece la orden C o c, la terna de puntos siguientes genera una curva de Bézier cúbica siendo los dos primeros, los puntos de control de ambos extremos de la curva y el último es el punto final de la curva que se une con el primero. S o s enlaza curvas cúbicas sucesivamente, calculándose de manera automática los puntos de control.
  • Si después de un punto aparece A o a, se unirán los puntos extremos, P y Q con una curva elíptica o circular según los valores de los radios Rx y Ry respecto de los ejes de la elipse. El valor de U y V cambia la dirección y parte visible que presentan respectivamente relativos a P y Q, según sean 1 o 0. El valor de G es una rotación de los ejes de la elipse.
<path d="MPx,PxaRx,Ry G V U Qx,Qy" />
  • Para cerrar curvas y trayectorias, se cerrará la cadena de puntos con Z o z independientemente si la orden está en mayúscula o no.

Aberturas:

Para generar una abertura en un recinto con interior(fill distinto de "none") se usa una cadena con orientación contraria al borde del recinto (hay dos posibles órdenes: el horario y el antihorario), esto generará un recinto cuyo interior tendrá una sola orientación, en caso contrario no hay abertura.

Texto

 
Muestra de Font-family (estado actual de Commons)

Se puede añadir texto, a partir de: un punto base x e y y se configuran las características de la cadena de texto con los parámetros: font-family (tipo de letra), font-size (tamaño de letras ) y estilo de letra por font-style (con uno de cuatro valores posibles: normal, inherit, oblique o italic):

<text x="..." y="..." font-size="..." font-style="..." > ... </text>

Agrupaciones

Se pueden agrupar objetos para que compartan atributos por defecto y una disposición fija en el espacio para poder duplicarlos cómodamente:

<g ... >...</g>

Duplicados

Para duplicar objetos tanto internos como externos se tiene que incluir en la etiqueta <svg> el siguiente fragmento:

<svg xmlns:xlink="http://www.w3.org/1999/xlink" ... > ... </svg>

Duplicado de objetos svg

Se puede duplicar objetos identificados previamente con id="...", donde el espacio de puntos indica el nombre.

<use xlink:href="#..."/>

Enlazado de imágenes

Se pueden añadir o incrustar enlaces a imágenes del tipo *.png, *.jpg o *.svg dentro de un rectángulo de parámetros x, y, width y height:

<image xlink:href=" ... *.jpg" x="..." y="..." width="..." height="..." />

Esta opción no es soportada por Wikimedia Commons.

Recortes

Se pueden recortar objetos mediante rellenos de otros objetos, por ejemplo, un círculo mediante un recinto triangular. En el ejemplo que sigue, la orden clipPath con el parámetro "id" identifica el nombre del área a recortar. La orden path siguiente con el parámetro clip-rule indica si un punto queda dentro del área de relleno (nonzero) o fuera (evenodd, como en el caso presentado). Luego de cerrar la orden con </clipPath>, la orden siguiente traza un círculo al cual se aplica el área recortada con el parámetro clip-path="url(#nombre del área)".

<clipPath id="cortador"> <path fill="#0ff" d="m119,71l-103,60l120,0" clip-rule="evenodd"/> </clipPath> <circle r="80" cx="12" cy="130" stroke="#000" fill="#999" clip-path="url(#cortador)"/> 

Transformaciones

Las transformaciones permiten efectuar semejanzas sobre imágenes mediante la matriz:

 

<g transform="matrix(a,b,c,d,e,f)"> ... </g>

  • Traslaciones.

<g transform="translate(e,f)"> ... </g>

  • Rotaciones.

<g transform="rotate(g)"> ... </g>

  • Simetrías.

<g transform="scale(1,-1),rotate(g)"> ... </g>

  • Homotecias.

<g transform="scale(k,k)"> ... </g>

  • Homotecias seguidas de simetrías.
  • Homotecias seguidas de rotaciones.

Animaciones

Las animaciones se pueden crear incorporando programación con algún lenguaje que soporte el navegador, como Python o JavaScript

Navegadores que soportan SVG

  • Mozilla Firefox: Implementa SVG en forma nativa desde su versión 1.5. Con el tiempo, fue mejorando el cumplimiento del estándar, pero con alto consumo de tiempo de procesador. A partir de la versión 3.5, en Firefox se ha modificado y mejorado el procesamiento de archivos SVG.
  • Opera: Al igual que Firefox, también posee una implementación de SVG en forma nativa, pero con poco consumo de tiempo de proceso. La versión 9.5 Beta, incorpora la posibilidad de llamar en forma externa a una imagen en formato svg, usando la orden <image> o <use>.
  • Internet Explorer: Aunque tardíamente, Microsoft empezó a dar soporte a este estándar en el navegador Internet Explorer desde su novena versión.
  • Apple Safari: Su versión 3.1 (para computadores con sistema operativo Windows o Mac OS X) posee implementación de soporte para archivos SVG tanto para imágenes como para texto avanzado.
  • Google Chrome: Desde su primera versión, Google incorporó implementación de SVG de forma nativa (ya que utiliza WebKit).
  • Microsoft Edge: Soporta el estándar SVG desde la primera versión incluida en la versión Build 10049 de Windows 10.

Software de edición

Actualmente hay muchos programas de diseño gráfico que lo soportan. Entre los que son software libre está Inkscape. La suite ofimática libre LibreOffice incorpora Draw, programa exclusivo para trabajar con SVG y otros archivos gráficos vectoriales. También hay editores en línea que permiten abrir archivos o crearlos, como Method Draw, Vector Paint, Draw SVG y svgreal.[6]

Véase también

Referencias

  1. M Media Type registration for image/svg+xml
  2. «Secret Origin of SVG». World Wide Web Consortium. 21 de diciembre de 2007. Consultado el 13 de enero de 2014. 
  3. «SVG Tutorial». www.w3schools.com. Consultado el 7 de enero de 2021. 
  4. «Scalable Vector Graphics (SVG) 1.1 (Second Edition)» (en inglés). World Wide Web Consortium (W3C). 16 de agosto de 2016. pp. 90-92. Consultado el 14 de noviembre de 2016. 
  5. [2]

Enlaces externos

Ejemplos y manuales

  • Tutorial de SVG
  • SVG Tutorial by Altsoft
  • 1º borrador del manual (1-9-2010)
  • 2º borrador del manual (16-8-2011)
  • Manual (14-8-2018)
  •   Datos: Q2078
  •   Multimedia: Scalable Vector Graphics

gráficos, vectoriales, escalables, redirige, aquí, para, otras, acepciones, véase, desambiguación, gráficos, vectoriales, escalables, gráficos, vectoriales, redimensionables, inglés, scalable, vector, graphics, formato, gráficos, vectoriales, bidimensionales, . SVG redirige aqui Para otras acepciones vease SVG desambiguacion Los graficos vectoriales escalables o graficos vectoriales redimensionables del ingles Scalable Vector Graphics SVG es un formato de graficos vectoriales bidimensionales tanto estaticos como animados en formato de lenguaje de marcado extensible XML Extensible Markup Language es decir que se compone por codigo y cuya especificacion es un estandar abierto desarrollado por el W3C desde 1999 Graficos vectoriales escalablesDesarrolladorWorld Wide Web Consortiumw3 org Graphics SVG Informacion generalExtension de archivo tt svg tt tt svgz tt Tipo de MIMEimage svg xml sup id cite ref 1 class reference separada a href cite note 1 span class corchete llamada span 1 span class corchete llamada span a sup Uniform Type Identifierpublic svg imageLanzamiento inicial4 de septiembre de 2001Ultima version1 1 segunda edicion 16 de agosto de 2011 9 anos 11 meses y 25 dias Tipo de formatoGrafico vectorialExtendido deXMLFormato abierto editar datos en Wikidata Imagen estatica generada desde un ejemplo SVG El fichero original requiere un navegador con soporte nativo o mediante plugin Las imagenes SVG y sus comportamientos se definen en archivos de texto XML Esto significa que se pueden buscar indexar codificar y comprimir Como archivos XML las imagenes SVG se pueden crear y editar con cualquier editor de texto o comunmente editor de codigo asi como con software de dibujo El SVG es un lenguaje usado para dibujar y representar graficos imagenes y logotipos o sea que son graficos que pueden manipularse con CSS y JavaScript Estos graficos fueron creados para que se puedan representar o renderizar en la web y en los navegadores Ademas este lenguaje de marcado se convirtio en una recomendacion del W3C en septiembre de 2001 por lo que ya ha sido incluido de forma nativa en el navegador web del W3C Amaya Las versiones 1 5 y posteriores de Mozilla Firefox soportan graficos hechos con SVG asi como el navegador Opera que desde su version 8 ha implementado SVG 1 1 Tiny en su nucleo Navegadores como Google Chrome Safari e Internet Explorer 9 tambien son capaces de mostrar imagenes en formato SVG sin necesidad de complementos externos Otros navegadores web como versiones anteriores a la 9 de Internet Explorer necesitan un conector o plug in Los dibujos imagenes o graficos SVG a diferencia de los dibujos en otros formatos como los Webp JPG PNG TIFF Rasters entre otros pueden ser interactivos y dinamicos y esto se debe a que no se componen por mapa de bits sino que estan compuestos por vectores que son instrucciones matematicas que se le dan al navegador o programas de ediciones de estos graficos vectoriales para escalarlos de manera infinita y no perder resolucion o calidad en la imagen dibujo etcetera Indice 1 Origenes 2 Contenido general 2 1 Ventajas de SVG 3 2 2 SVG usa formato XML 2 3 Estructura basica de un SVG 2 4 Tipos de objetos graficos 2 5 Elementos geometricos SVG 2 5 1 Atributos 2 5 2 Lineas 2 5 3 Rectangulos 2 5 4 Circulo 2 5 5 Elipse 2 5 6 Mixtilinea 2 5 7 Texto 2 5 8 Agrupaciones 2 5 9 Duplicados 2 5 9 1 Duplicado de objetos svg 2 5 9 2 Enlazado de imagenes 2 5 10 Recortes 2 5 11 Transformaciones 2 6 Animaciones 3 Navegadores que soportan SVG 4 Software de edicion 5 Vease tambien 6 Referencias 7 Enlaces externos 7 1 Ejemplos y manualesOrigenes EditarEn 1996 Chris Liley redacto para el W3C un documento con directrices sobre los posibles requerimientos para integrar un formato estandar de archivo para describir elementos graficos vectoriales Para 1998 varias empresas habian turnado propuestas a este organismo de las cuales dos principalmente sirvieron como base para los borradores que constituirian el SVG el VML desarrollado por Microsoft para su formato de documentos RTF y el PGML desarrollado entonces por Adobe en coordinacion con IBM Netscape y SUN Tras la publicacion del estandar SVG Microsoft disocio el VML arguyendo que era un producto ya en el mercado mientras que Adobe celebro abiertamente estandarizacion del PGML el soporte para SVG fue integrado a distintos productos de software de esta ultima compania como Adobe Illustrator y el visualizador de archivos ASV 2 Contenido general Editar La imagen ilustra una diferencia entre mapas de bits e imagenes vectoriales La imagen vectorial puede ser redimensionada tanto como se requiera sin perdida de calidad de imagen Esto no es asi con un mapa de bits Ventajas de SVG 3 Editar Las ventajas de usar SVG sobre otros formatos de imagen son que estas se pueden Crear y editar con cualquier editor de texto Buscar indexar codificar y comprimir imprimir con alta calidad en cualquier resolucion ampliar sin perder calidad de imagen o grafico Los graficos SVG NO pierden calidad si se amplian o cambian de tamano Las imagenes SVG son escalables SVG es un estandar abierto Los archivos SVG son XML puroSVG usa formato XML Editar Para poder entender un poco SVG desde el codigo se debe tener un conocimiento basico de HTML y XML basico Por lo tanto debe llevar Etiquetas de apertura y cierre Al igual que HTML Atributos Como dialecto XML requiere que se defina el namespace de lo contrario el navegador no lo interpretara correctamente Estructura basica de un SVG Editar El codigo SVG debe llevar viewBox xmlns lt svg viewBox 0 0 20 20 xmlns http www w3 org 2000 svg gt lt title gt Estructura basica del SVG lt title gt lt style gt circle fill blue lt style gt lt circle class circle cx 5 cy 5 r 5 gt lt svg gt Tipos de objetos graficos Editar La especificacion de SVG permite tres tipos de objetos graficos Elementos geometricos vectoriales como los caminos o trayectorias consistentes en rectas y curvas y areas limitadas por ellos Imagenes de mapa de bits digitales Texto Los objetos graficos pueden ser agrupados transformados y compuestos en objetos previamente renderizados y pueden recibir un estilo comun El texto puede estar en cualquier espacio de nombres XML admitido por la aplicacion lo que mejora la posibilidad de busqueda y la accesibilidad de los graficos SVG El conjunto de caracteristicas incluye las transformaciones anidadas las trayectorias de recorte las mascaras alfa los filtros de efectos las plantillas de objetos y la extensibilidad El dibujado de los SVG puede ser dinamico e interactivo El modelo Document Object Model DOM para SVG que incluye el DOM XML completo permite animaciones de graficos vectoriales sencillas y eficientes mediante ECMAScript o SMIL Un conjunto amplio de manejadores de eventos como onMouseOver y onClick puede ser asignado a cualquier objeto SVG Debido a su compatibilidad y relacion con otros estandares de Web caracteristicas como el scripting pueden ser aplicadas a elementos SVG y a otros elementos XML desde distintos espacios de nombre XML simultaneamente y dentro de la misma pagina web Un ejemplo extremo de esto es un juego completo de Tetris realizado como un objeto SVG 4 Si el espacio de almacenamiento es un problema las imagenes SVG pueden ser guardadas como archivos comprimidos con gzip en cuyo caso pasan a ser imagenes SVGZ Debido a la verbosidad del XML este tiende a comprimirse muy bien y estos ficheros pueden ser mucho mas pequenos El fichero o archivo vectorizado original SVG es mas pequeno que la version de mapa de bits exceptuando cualquier programa que fuerza a una vectorializacion ya que vectorializa detalles en general de poca utilidad aproximables por otros metodos o invisibles a los cuales inserta informacion oculta y firmas de todo tipo Complejidad Tomate en SVG Por ser un lenguaje vectorial SVG permite crear imagenes complejas Elementos geometricos SVG Editar Los elementos geometricos son objetos provistos de atributos genericos basicos y optativos o por defecto Todos los objetos se encuentran enmarcados en una ventana con un ancho width y un alto height determinados con numeros enteros Esta ventana posee un sistema de coordenadas cuyo origen esta situado en la parte superior izquierda y en el cual los valores positivos de x y y se orientan a la derecha y hacia abajo respectivamente Cada valor esta determinado con numeros enteros o con un porcentaje respecto del area de trabajo Un sistema de referencia coordenado o un objeto determinado en el estandar se puede modificar mediante transformaciones El ejemplo que sigue muestra dos transformaciones una de posicion traslado del origen de coordenadas mediante la orden translate y otra de escala usando la orden scale Orientacion corregida usada habitualmente para representacion grafica lt svg width 200 height 200 xmlns http www w3 org 2000 svg xmlns xlink http www w3 org 1999 xlink gt lt g transform translate 50 150 gt lt g transform scale 1 1 gt lt g gt lt g gt lt svg gt Atributos Editar Todos los objetos comparten algunos atributos genericos Todo elemento visual de una figura tiene un color con 4 posibles expresiones con el color negro por defecto Nominalmente red yellow blue aqua salmon tomato orange lightgreen etc 5 Con valores hexadecimales ff0000 ffff00 etc Con valores hexadecimales resumidos abc aabbcc f00 ff0 etc Funcionales enteros como rgb 255 32 50 o porcentuales como rgb 100 10 0 Toda figura tiene un contorno cuyo grosor y color pueden ser modificados respectivamente usando los parametros stroke width y stroke Hay tres tipos de uniones de lineas stroke linejoin miter para angulos menores de 30 grados se aumenta el valor entero del corrector stroke miterlimit 4 en caso contrario se transforma en bevel stroke linejoin round y stroke linejoin bevel en la imagen respectivamente Hay tres tipos de extremos de lineas stroke linecap butt stroke linecap round y stroke linecap square en la imagen respectivamente Se puede anadir bordes intermitentes siguiendo el patron marcado por sucesiones de enteros con stroke dasharray como por ejemplo stroke dasharray 2 3 5 7 11 13 Casi todas las figuras tienen un relleno que puede ser modificado en color fill difuminado o filtrado de distintas formas Toda figura tiene una opacidad opacity su valor varia entre 0 transparente y 1 opaco por defecto Lineas Editar El objeto linea consta basicamente de dos puntos x1 y1 y x2 y2 entre los cuales se dibuja un segmento recto lt line x1 y1 x2 y2 gt Rectangulos Editar El objeto rectangulo consta basicamente de un punto cuya esquina superior izquierda u origen es x y y sus dimensiones estan representadas por los parametros height y width lt rect x y height width gt Circulo Editar El objeto circulo consta de un punto cuyo centro tiene las coordenadas cx cy y su radio es r lt circle r cx cy gt Elipse Editar El objeto elipse consta de un punto cuyo centro tiene las coordenadas cx cy un radio horizontal rx y un radio vertical ry lt ellipse cx cy rx ry gt Mixtilinea Editar Muestra de diferentes ordenes de orientacion para una misma cadena d El objeto mixtilinea consta basicamente de puntos unidos por lineas que pueden cerrar o no un espacio Estos puntos forman cadenas iniciadas con M o m que pueden unirse con otras para formar un todo El uso de mayusculas se refiere a valores absolutos de coordenadas y de minusculas para los valores relativos es decir considera el ultimo punto dado como el origen de coordenadas lt path d M m M gt Enlaces entre puntos Si despues de un punto es usada la orden L o l los puntos siguientes se unen con segmentos rectos Si despues de indicar un punto aparece la orden H o V para coordenadas absolutas u h o v para coordenadas relativas ambos puntos se unen con una linea horizontal o vertical manteniendo fija la otra coordenada Si despues de un punto es usada la orden Q o q se genera una curva de Bezier cuadratica entre el primer punto y el ultimo mediante un punto de control cuyas coordenadas aparecen despues de la orden T o t enlaza curvas de Bezier cuadraticas previamente trazadas sucesivamente calculando cada vez de manera automatica un punto de control Si despues de un punto aparece la orden C o c la terna de puntos siguientes genera una curva de Bezier cubica siendo los dos primeros los puntos de control de ambos extremos de la curva y el ultimo es el punto final de la curva que se une con el primero S o s enlaza curvas cubicas sucesivamente calculandose de manera automatica los puntos de control Si despues de un punto aparece A o a se uniran los puntos extremos P y Q con una curva eliptica o circular segun los valores de los radios Rx y Ry respecto de los ejes de la elipse El valor de U y V cambia la direccion y parte visible que presentan respectivamente relativos a P y Q segun sean 1 o 0 El valor de G es una rotacion de los ejes de la elipse lt path d MPx PxaRx Ry G V U Qx Qy gt dd Para cerrar curvas y trayectorias se cerrara la cadena de puntos con Z o z independientemente si la orden esta en mayuscula o no Aberturas Para generar una abertura en un recinto con interior fill distinto de none se usa una cadena con orientacion contraria al borde del recinto hay dos posibles ordenes el horario y el antihorario esto generara un recinto cuyo interior tendra una sola orientacion en caso contrario no hay abertura Texto Editar Muestra de Font family estado actual de Commons Se puede anadir texto a partir de un punto base x e y y se configuran las caracteristicas de la cadena de texto con los parametros font family tipo de letra font size tamano de letras y estilo de letra por font style con uno de cuatro valores posibles normal inherit oblique o italic lt text x y font size font style gt lt text gt Agrupaciones Editar Se pueden agrupar objetos para que compartan atributos por defecto y una disposicion fija en el espacio para poder duplicarlos comodamente lt g gt lt g gt Duplicados Editar Para duplicar objetos tanto internos como externos se tiene que incluir en la etiqueta lt svg gt el siguiente fragmento lt svg xmlns xlink http www w3 org 1999 xlink gt lt svg gt Duplicado de objetos svg Editar Se puede duplicar objetos identificados previamente con id donde el espacio de puntos indica el nombre lt use xlink href gt Enlazado de imagenes Editar Se pueden anadir o incrustar enlaces a imagenes del tipo png jpg o svg dentro de un rectangulo de parametros x y width y height lt image xlink href jpg x y width height gt Esta opcion no es soportada por Wikimedia Commons Recortes Editar Se pueden recortar objetos mediante rellenos de otros objetos por ejemplo un circulo mediante un recinto triangular En el ejemplo que sigue la orden clipPath con el parametro id identifica el nombre del area a recortar La orden path siguiente con el parametro clip rule indica si un punto queda dentro del area de relleno nonzero o fuera evenodd como en el caso presentado Luego de cerrar la orden con lt clipPath gt la orden siguiente traza un circulo al cual se aplica el area recortada con el parametro clip path url nombre del area lt clipPath id cortador gt lt path fill 0ff d m119 71l 103 60l120 0 clip rule evenodd gt lt clipPath gt lt circle r 80 cx 12 cy 130 stroke 000 fill 999 clip path url cortador gt Transformaciones Editar Las transformaciones permiten efectuar semejanzas sobre imagenes mediante la matriz I m a g e n f i n a l a c e b d f 0 0 1 I m a g e n i n i c i a l displaystyle Imagen final begin pmatrix a amp c amp e b amp d amp f 0 amp 0 amp 1 end pmatrix Imagen inicial lt g transform matrix a b c d e f gt lt g gt Traslaciones lt g transform translate e f gt lt g gt Rotaciones lt g transform rotate g gt lt g gt Simetrias lt g transform scale 1 1 rotate g gt lt g gt Homotecias lt g transform scale k k gt lt g gt Homotecias seguidas de simetrias Homotecias seguidas de rotaciones Iteracion de una homotecia Iteracion de una homotecia seguida de una simetria Iteracion de una homotecia seguida de una rotacion Jugando con la alternancia de dos transformacionesAnimaciones Editar Las animaciones se pueden crear incorporando programacion con algun lenguaje que soporte el navegador como Python o JavaScriptNavegadores que soportan SVG EditarMozilla Firefox Implementa SVG en forma nativa desde su version 1 5 Con el tiempo fue mejorando el cumplimiento del estandar pero con alto consumo de tiempo de procesador A partir de la version 3 5 en Firefox se ha modificado y mejorado el procesamiento de archivos SVG Opera Al igual que Firefox tambien posee una implementacion de SVG en forma nativa pero con poco consumo de tiempo de proceso La version 9 5 Beta incorpora la posibilidad de llamar en forma externa a una imagen en formato svg usando la orden lt image gt o lt use gt Internet Explorer Aunque tardiamente Microsoft empezo a dar soporte a este estandar en el navegador Internet Explorer desde su novena version Apple Safari Su version 3 1 para computadores con sistema operativo Windows o Mac OS X posee implementacion de soporte para archivos SVG tanto para imagenes como para texto avanzado Google Chrome Desde su primera version Google incorporo implementacion de SVG de forma nativa ya que utiliza WebKit Microsoft Edge Soporta el estandar SVG desde la primera version incluida en la version Build 10049 de Windows 10 Software de edicion EditarActualmente hay muchos programas de diseno grafico que lo soportan Entre los que son software libre esta Inkscape La suite ofimatica libre LibreOffice incorpora Draw programa exclusivo para trabajar con SVG y otros archivos graficos vectoriales Tambien hay editores en linea que permiten abrir archivos o crearlos como Method Draw Vector Paint Draw SVG y svgreal 6 Vease tambien EditarVML Web semantica Lista de dialectos XML PNGReferencias Editar M Media Type registration for image svg xml Secret Origin of SVG World Wide Web Consortium 21 de diciembre de 2007 Consultado el 13 de enero de 2014 SVG Tutorial www w3schools com Consultado el 7 de enero de 2021 1 Scalable Vector Graphics SVG 1 1 Second Edition en ingles World Wide Web Consortium W3C 16 de agosto de 2016 pp 90 92 Consultado el 14 de noviembre de 2016 2 Enlaces externos EditarW3C Scalable Vector Graphics SVG en ingles Adobe SVG en ingles Mozilla SVG y Ejemplos en ingles Cartografia y planos SVG en ingles Inkscape editor libre de SVG MDC Mozilla Developer Center SVGEjemplos y manuales Editar Tutorial de SVGSVG Tutorial by Altsoft 1º borrador del manual 1 9 2010 2º borrador del manual 16 8 2011 Manual 14 8 2018 Datos Q2078 Multimedia Scalable Vector GraphicsObtenido de https es wikipedia org w index php title Graficos vectoriales escalables amp oldid 137140980, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos