SVG - Guía rápida

¿Qué es SVG?

  • SVG, Scalable Vector Graphics es un lenguaje basado en XML para definir gráficos basados ​​en vectores.

  • SVG está diseñado para mostrar imágenes en la web.

  • Al ser imágenes vectoriales, la imagen SVG nunca pierde calidad, sin importar cómo se reduzcan o redimensionen.

  • Las imágenes SVG admiten interactividad y animación.

  • SVG es un estándar W3C.

  • Otros formatos de imagen, como las imágenes rasterizadas, también se pueden combinar con imágenes SVG.

  • SVG se integra bien con XSLT y DOM de HTML.

Ventajas

  • Utilice cualquier editor de texto para crear y editar imágenes SVG.

  • Al estar basadas en XML, las imágenes SVG se pueden buscar, indexar y se pueden escribir y comprimir.

  • Las imágenes SVG son altamente escalables, ya que nunca pierden calidad, sin importar cómo se reduzcan o redimensionen

  • Buena calidad de impresión en cualquier resolución

  • SVG es un estándar abierto

Desventajas

  • El tamaño del formato de texto es mayor que el de las imágenes ráster con formato binario.

  • El tamaño puede ser grande incluso para imágenes pequeñas.

Ejemplo

El siguiente fragmento XML se puede utilizar para dibujar un círculo en el navegador web.

<svg width="100" height="100">
   <circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
</svg>

Incruste el XML SVG directamente en una página HTML.

testSVG.htm

<html>
   <title>SVG Image</title>
   <body>
   
      <h1>Sample SVG Image</h1>
      
      <svg width="100" height="100">
         <circle cx="50" cy="50" r="40" stroke="red" stroke-width="2" fill="green" />
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. En Internet Explorer, se requieren controles ActiveX para ver imágenes SVG.

Cómo se integra SVG con HTML

  • El elemento <svg> indica el inicio de la imagen SVG.

  • Los atributos de ancho y alto del elemento <svg> definen el alto y el ancho de la imagen SVG.

  • En el ejemplo anterior, usamos un elemento <circle> para dibujar un círculo.

  • El atributo cx y cy representa el centro del círculo. El valor predeterminado es (0,0). El atributo r representa el radio del círculo.

  • Otros atributos de trazo y ancho de trazo controlan el contorno del círculo.

  • El atributo de relleno define el color de relleno del círculo.

  • Cerrar la etiqueta </svg> indica el final de la imagen SVG.

SVG proporciona varias formas que se pueden utilizar para dibujar imágenes. A continuación se muestran las formas comunes.

No Señor. Tipo de forma y descripción
1 rect

Se usa para dibujar un rectángulo.

2 circulo

Se usa para dibujar un círculo.

3 elipse

Se usa para dibujar una elipse.

4 línea

Se usa para trazar una línea.

5 polígono

Se utiliza para dibujar una forma cerrada que consta de líneas rectas conectadas.

6 polilínea

Se utiliza para dibujar una forma abierta que consta de líneas rectas conectadas.

7 camino

Se usa para trazar cualquier camino.

El elemento <text> se usa para dibujar texto.

Declaración

A continuación se muestra la declaración de sintaxis de <text>elemento. Solo mostramos los atributos principales.

<text
  x="x-cordinates"
  y="y-cordinates"
  
  dx="list of lengths"
  dy="list of lengths"
  
  rotate="list of numbers"
  textlength="length"
  lengthAdjust="spacing" >
</text>

Atributos

No Señor. Atributo y descripción
1 x - coordenadas del eje x de los glifos.
2 y - coordenadas del eje y de los glifos.
3 dx - desplazamiento junto con el eje x.
4 dy - desplazarse junto con el eje y.
5 rotate - rotación aplicada a todos los glifos.
6 textlength - longitud de la representación del texto.
7 lengthAdjust - tipo de ajuste con la longitud renderizada del texto.

Ejemplo

testSVG.htm
<html>
   <title>SVG Text</title>
   <body>
      
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="12" >Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM</text>
         </g> 
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Texto con rotar

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="12" >Multiline Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM
            <tspan x="30" y="50" font-weight="bold">Simply Easy learning.</tspan>
            <tspan x="30" y="70">We teach just for free.</tspan>
            </text>
         </g>
      </svg>
      
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Texto de varias líneas

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="570" height="100">
         <g>
            <text x="30" y="12" >Multiline Text: </text>
            <text x="30" y="30" fill="rgb(121,0,121)">WWW.TutorialsPoint.COM
               <tspan x="30" y="50" font-weight="bold">Simply Easy learning.</tspan>
               <tspan x="30" y="70">We teach just for free.</tspan>
            </text>
         </g>
      </svg>
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Texto de hipervínculo

<html>
   <title>SVG Text</title>
   <body>
      <h1>Sample SVG Text</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="10" >Text as Link: </text>
         
            <a xlink:href="http://www.tutorialspoint.com/svg/" target="_blank">
               <text font-family="Verdana" font-size="20"  x="30" y="30" 
               fill="rgb(121,0,121)">WWW.TutorialsPoint.COM</text>
            </a>
         </g>
      </svg>
      
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

SVG admite múltiples propiedades de trazo.

A continuación se muestran las principales propiedades de trazo utilizadas.

No Señor. Tipo de carrera y descripción
1 stroke - define el color del texto, línea o contorno de cualquier elemento.
2 stroke-width - define el grosor del texto, la línea o el contorno de cualquier elemento.
3 stroke-linecap - define diferentes tipos de finalización de una línea o contorno de cualquier camino.
4 stroke-dasharray - utilizado para crear líneas discontinuas.

Ejemplo

testSVG.htm
<html>
   <title>SVG Stroke</title>
   <body>
   
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke: </text>
            <path stroke="red" d="M 50 50 L 300 50" />
            <path stroke="green" d="M 50 70 L 300 70" />
            <path stroke="blue" d="M 50 90 L 300 90" />
         </g> 
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Anchura del trazo

<html>
   <title>SVG Stroke</title>
   <body>
      
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <text x="30" y="10" >Using stroke-width: </text>
         <path stroke-width="2" stroke="black" d="M 50 50 L 300 50" />
         <path stroke-width="4" stroke="black" d="M 50 70 L 300 70" />
         <path stroke-width="6" stroke="black" d="M 50 90 L 300 90" />
      </svg>
      
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

trazo-linecap

<html>
   <title>SVG Stroke</title>
   <body>
      
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke-linecap: </text>
         
            <path stroke-linecap="butt" stroke-width="6" 
            stroke="black" d="M 50 50 L 300 50" />
         
            <path stroke-linecap="round" stroke-width="6" 
            stroke="black" d="M 50 70 L 300 70" />
         
            <path stroke-linecap="square" stroke-width="6"
            stroke="black" d="M 50 90 L 300 90" />
         </g>
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

trazo-dasharray

<html>
   <title>SVG Stroke</title>
   <body>
   
      <h1>Sample SVG Stroke</h1>
      
      <svg width="800" height="800">
         <g>
            <text x="30" y="30" >Using stroke-dasharray: </text>
            
            <path stroke-dasharray="5,5" stroke-width="6" 
            stroke="black" d="M 50 50 L 300 50" />
            
            <path stroke-dasharray="10,10" stroke-width="6" 
            stroke="black" d="M 50 70 L 300 70" />
            
            <path stroke-dasharray="20,10,5,5,5,10" stroke-width="6" 
            stroke="black" d="M 50 90 L 300 90" />
         </g>
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

SVG usa el elemento <filter> para definir filtros. El elemento <filter> utiliza un atributo id para identificarlo de forma única. Los filtros se definen dentro de los elementos <def> y luego los elementos gráficos hacen referencia a ellos mediante sus ID.

SVG proporciona un amplio conjunto de filtros. A continuación se muestra la lista de los filtros más utilizados.

  • feBlend
  • feColorMatrix
  • feComponentTransfer
  • feComposite
  • feConvolveMatrix
  • feDiffuseLighting
  • feDisplacementMap
  • feFlood
  • feGaussianBlur
  • feImage
  • feMerge
  • feMorphology
  • feOffset - filtro para sombras paralelas
  • feSpecularLighting
  • feTile
  • feTurbulence
  • feDistantLight
  • fePointLight
  • feSpotLight

Declaración

A continuación se muestra la declaración de sintaxis de <filter>elemento. Solo mostramos los atributos principales.

<filter
   filterUnits="units to define filter effect region"
   primitiveUnits="units to define primitive filter subregion"
   
   x="x-axis co-ordinate" 
   y="y-axis co-ordinate"     
   
   width="length"
   height="length"
   
   filterRes="numbers for filter region"
   xlink:href="reference to another filter" >
</filter>

Atributos

No Señor. Nombre y descripción
1 filterUnits- unidades para definir la región del efecto de filtro. Especifica el sistema de coordenadas para los diversos valores de longitud dentro del filtro y para los atributos que definen la subregión del filtro. Si filterUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se usa el elemento 'filtro'. Si filterUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento 'filtro'. El valor predeterminado es userSpaceOnUse.
2 primitiveUnits- unidades para definir la región del efecto de filtro. Especifica el sistema de coordenadas para los diversos valores de longitud dentro del filtro y para los atributos que definen la subregión del filtro. Si filterUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se usa el elemento 'filtro'. Si filterUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento 'filtro'. El valor predeterminado es userSpaceOnUse.
3 x- Coordenada del eje x del cuadro delimitador del filtro. Defeault es 0.
4 y- Coordenada del eje Y del cuadro delimitador del filtro. El valor predeterminado es 0.
5 width- ancho del cuadro delimitador del filtro. El valor predeterminado es 0.
6 height- altura del cuadro delimitador del filtro. El valor predeterminado es 0.
7 filterRes - números que representan las regiones de filtro.
8 xlink:href - utilizado para referirse a otro filtro.

Ejemplo

testSVG.htm
<html>
   <title>SVG Filter</title>
   <body>
   
      <h1>Sample SVG Filter</h1>
   
      <svg width="800" height="800">
      
         <defs>
            <filter id="filter1" x="0" y="0">
               <feGaussianBlur in="SourceGraphic" stdDeviation="8" />
            </filter>
            
            <filter id="filter2" x="0" y="0" width="200%" height="200%">
               <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" />
               <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
               <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
            </filter>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Filters (Blur Effect): </text>
            <rect x="100" y="100" width="90" height="90" stroke="green" stroke-width="3"
            fill="green" filter="url(#filter1)" />      
         </g> 
         
      </svg>
   
   </body>
</html>
  • Dos elementos <filter> definidos como filter1 y filter2.

  • El efecto de filtro feGaussianBlur define el efecto de desenfoque con la cantidad de desenfoque usando stdDeviation.

  • in = "SourceGraphic" define que el efecto es aplicable para todo el elemento.

  • El efecto de filtro feOffset se utiliza para crear un efecto de sombra. in = "SourceAlpha" define que el efecto es aplicable para la parte alfa de los gráficos RGBA.

  • Los elementos <rect> vincularon los filtros usando el atributo de filtro.

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Filtro con efecto de sombra

<html>
   <title>SVG Filter</title>
   <body>
      
      <h1>Sample SVG Filter</h1>
      
      <svg width="800" height="800">
      
         <defs>
            <filter id="filter1" x="0" y="0">
               <feGaussianBlur in="SourceGraphic" stdDeviation="8" />
            </filter>
            
            <filter id="filter2" x="0" y="0" width="200%" height="200%">
               <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" />
               <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
               <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
            </filter>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Filters (Shadow Effect): </text>
            <rect x="100" y="100" width="90" height="90" stroke="green" stroke-width="3"
            fill="green" filter="url(#filter2)" />
         </g>
         
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

SVG usa el elemento <pattern> para definir patrones. Los patrones se definen utilizando el elemento <pattern> y se utilizan para rellenar elementos gráficos en mosaico.

Declaración

A continuación se muestra la declaración de sintaxis de <pattern>elemento. Solo mostramos los atributos principales.

<pattern
   patternUnits="units to define x,y, width and height attributes."
   patternContentUnits ="units to define co-ordinate system of contents of pattern"
   patternTransform = "definition of an additional transformation from the pattern coordinate system onto the target coordinate system"
   
   x="x-axis co-ordinate" 
   y="y-axis co-ordinate"     
   
   width="length"
   height="length"
   
   preserveAspectRatio="to preserve width/height ratio of original content"
   xlink:href="reference to another pattern" >
</pattern>

Atributos

No Señor. Nombre y descripción
1 patternUnits- unidades para definir patrones de efecto región. Especifica el sistema de coordenadas para los diversos valores de longitud dentro del patrón y para los atributos que definen la subregión del patrón. Si patternUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se usa el elemento 'patrón'. Si patternUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento 'patrón'. El valor predeterminado es userSpaceOnUse.
2 patternContentUnits- unidades para definir la región de contenido del patrón. Especifica el sistema de coordenadas para los diversos valores de longitud dentro del patrón y para los atributos que definen la subregión del patrón. Si patternContentUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se utiliza el elemento 'patrón'. Si patternContentUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento 'patrón'. El valor predeterminado es userSpaceOnUse.
3 x- Coordenada del eje x del cuadro delimitador del patrón. Defeault es 0.
4 y- Coordenada del eje Y del cuadro delimitador del patrón. El valor predeterminado es 0.
5 width- ancho del cuadro delimitador del patrón. El valor predeterminado es 0.
6 height- altura del cuadro delimitador del patrón. El valor predeterminado es 0.
7 preserveAspectRatio - para preservar la relación ancho / alto del contenido original.
8 xlink:href - utilizado para referirse a otro patrón.

Ejemplo

testSVG.htm
<html>
   <title>SVG Pattern</title>
   <body>
      <h1>Sample SVG Pattern</h1>
      
      <svg width="800" height="800">
         
         <defs>
            <pattern id="pattern1" patternUnits="userSpaceOnUse"
               x="0" y="0" width="100" height="100"
               viewBox="0 0 4 4" >
               <path d="M 0 0 L 3 0 L 1.5 3 z" fill="blue" stroke="green" />
            </pattern> 
         </defs>
         
         <g>
            <text x="30" y="50" >Using Pattern (Triangles): </text>
            <rect x="100" y="100" width="300" height="300" stroke="green" 
            stroke-width="3" fill="url(#pattern1)" />
         </g> 
         
      </svg>
   
   </body>
</html>
  • Un elemento <pattern> definido como pattern1.

  • En el patrón, se define un cuadro de visualización y se define una ruta que se utilizará como patrón.

  • en el elemento rect, en el atributo de relleno, se especifica la URL del patrón para llenar el rectángulo con el patrón creado anteriormente.

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

El degradado se refiere a la transición suave de un color a otro dentro de una forma. SVG proporciona dos tipos de degradados.

  • Linear Gradients - Representa la transición lineal de un color a otro de una dirección a otra.

  • Radial Gradients - Representa la transición circular de un color a otro de una dirección a otra.

Degradados lineales

Declaración

A continuación se muestra la declaración de sintaxis de <linearGradient>elemento. Solo mostramos los atributos principales.

<linearGradient
   gradientUnits ="units to define co-ordinate system of contents of gradient"
   gradientTransform = "definition of an additional transformation from the gradient coordinate system onto the target coordinate system"
   
   x1="x-axis co-ordinate" 
   y1="y-axis co-ordinate"     
   x2="x-axis co-ordinate" 
   y2="y-axis co-ordinate"     
   
   spreadMethod="indicates method of spreading the gradient within graphics element"
   xlink:href="reference to another gradient" >
</linearGradient>

Atributos

No Señor. Nombre y descripción
1 gradientUnits- unidades para definir el sistema de coordenadas para los distintos valores de longitud dentro del gradiente. Si gradientUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se utiliza el elemento de degradado. Si patternContentUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento de degradado. El valor predeterminado es userSpaceOnUse.
2 x1- Coordenada del eje x del vector de gradiente. Defeault es 0.
3 y1- Coordenada del eje y del vector de gradiente. El valor predeterminado es 0.
4 x2- Coordenada del eje x del vector de gradiente. Defeault es 0.
5 y2- Coordenada del eje y del vector de gradiente. El valor predeterminado es 0.
6 spreadMethod- indica el método de dispersión del degradado dentro del elemento gráfico. El valor predeterminado es 'pad'.
7 xlink:href - usado para referirse a otro gradiente.

Ejemplo

testSVG.htm
<html>
   <title>SVG Linear Gradient</title>
   <body>
   
      <h1>Sample SVG Linear Gradient</h1>
   
      <svg width="600" height="600">
      
         <defs>
            <linearGradient id="sampleGradient">
               <stop offset="0%" stop-color="#FF0000" />
               <stop offset="100%" stop-color="#00FFF00" />
            </linearGradient>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Linear Gradient: </text>
            <rect x="100" y="100" width="200" height="200" stroke="green" stroke-width="3" 
            fill="url(#sampleGradient)" />
         </g>
         
      </svg>
   
   </body>
</html>
  • Un elemento <linearGradient> definido como sampleGradient.

  • En linearGradient, se definen dos desplazamientos con dos colores.

  • en el elemento rect, en el atributo de relleno, la URL del degradado se especifica para rellenar el rectángulo con el degradado creado anteriormente.

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Gradientes radiales

Declaración

A continuación se muestra la declaración de sintaxis de <radialGradient>elemento. Solo mostramos los atributos principales.

<radialGradient
   gradientUnits ="units to define co-ordinate system of contents of gradient"
   gradientTransform = "definition of an additional transformation from the gradient coordinate system onto the target coordinate system"
   
   cx="x-axis co-ordinate of center of circle." 
   cy="y-axis co-ordinate of center of circle."     
   
   r="radius of circle" 
   
   fx="focal point for the radial gradient"     
   fy="focal point for the radial gradient"     
   
   spreadMethod="indicates method of spreading the gradient within graphics element"
   xlink:href="reference to another gradient" >
</radialGradient>

Atributos

No Señor. Nombre y descripción
1 gradientUnits- unidades para definir el sistema de coordenadas para los distintos valores de longitud dentro del gradiente. Si gradientUnits = "userSpaceOnUse", los valores representan valores en el sistema de coordenadas del usuario actual en su lugar en el momento en que se utiliza el elemento de degradado. Si patternContentUnits = "objectBoundingBox", los valores representan valores en fracciones o porcentajes del cuadro delimitador en el elemento de referencia en su lugar en el momento en que se utiliza el elemento de degradado. El valor predeterminado es userSpaceOnUse.
2 cx- Coordenada del eje x del centro del círculo más grande del vector de gradiente. Defeault es 0.
3 cy- Coordenada del eje y del centro del círculo más grande del vector de gradiente. El valor predeterminado es 0.
4 r- radio del centro del círculo más grande del vector de gradiente. Defeault es 0.
5 fx- punto focal de gradiente radial. El valor predeterminado es 0.
6 fy- punto focal de gradiente radial. El valor predeterminado es 0.
7 spreadMethod- indica el método de dispersión del degradado dentro del elemento gráfico. El valor predeterminado es 'pad'.
8 xlink:href - usado para referirse a otro gradiente.

Ejemplo

testSVG.htm
<html>
   <title>SVG Radial Gradient</title>
   <body>
      
      <h1>Sample SVG Radial Gradient</h1>
      
      <svg width="600" height="600">
         <defs>
            <radialGradient id="sampleGradient">
               <stop offset="0%" stop-color="#FF0000" />
               <stop offset="100%" stop-color="#00FFF00" />
            </radialGradient>
         </defs>
         
         <g>
            <text x="30" y="50" >Using Radial Gradient: </text>
            <rect x="100" y="100" width="200" height="200" stroke="green" stroke-width="3"
            fill="url(#sampleGradient)" />
         </g>
      </svg>
      
   </body>
</html>
  • Un elemento <radialGradient> definido como sampleGradient.

  • En radialGradient, se definen dos desplazamientos con dos colores.

  • en el elemento rect, en el atributo de relleno, la URL del degradado se especifica para rellenar el rectángulo con el degradado creado anteriormente.

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG.

Las imágenes SVG pueden adaptarse a las acciones del usuario. SVG admite eventos de puntero, eventos de teclado y eventos de documentos. Considere el siguiente ejemplo.

Ejemplo

testSVG.htm
<html>
   <title>SVG Interactivity</title>
   <body>
      
      <h1>Sample Interactivity</h1>
      
      <svg width="600" height="600">
         <script type="text/JavaScript">
            <![CDATA[
               function showColor() {
                  alert("Color of the Rectangle is: "+
                  document.getElementById("rect1").getAttributeNS(null,"fill"));
               }
               
               function showArea(event){
                  var width = parseFloat(event.target.getAttributeNS(null,"width"));
                  var height = parseFloat(event.target.getAttributeNS(null,"height"));
                  alert("Area of the rectangle is: " +width +"x"+ height);
               }
               
               function showRootChildrenCount() {
                  alert("Total Children: "+document.documentElement.childNodes.length);
               }
            ]]>
         </script>
         
         <g>
            <text x="30" y="50" onClick="showColor()">Click me to show rectangle color.</text>
            
            <rect id="rect1" x="100" y="100" width="200" height="200" 
            stroke="green" stroke-width="3" fill="red" 
            onClick="showArea(event)"/>
            
            <text x="30" y="400" onClick="showRootChildrenCount()">
            Click me to print child node count.</text>
         </g>
      </svg>
   
   </body>
</html>

Explicacion

  • SVG admite funciones JavaScript / ECMAScript. El bloque de secuencia de comandos debe estar en el bloque CDATA, considere el soporte de datos de caracteres en XML.

  • Los elementos SVG admiten eventos de mouse, eventos de teclado. Hemos utilizado el evento onClick para llamar a funciones de JavaScript.

  • En las funciones de JavaScript, el documento representa un documento SVG y se puede utilizar para obtener los elementos SVG.

  • En las funciones de JavaScript, el evento representa el evento actual y se puede usar para obtener el elemento de destino en el que se generó el evento.

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG. Haga clic en cada texto y rectángulo para ver el resultado.

El elemento <a> se utiliza para crear un hipervínculo. El atributo "xlink: href" se utiliza para pasar el IRI (identificadores de recursos internacionalizados) que es complementario a URI (identificadores uniformes de recursos).

Declaración

A continuación se muestra la declaración de sintaxis de <a>elemento. Solo mostramos los atributos principales.

<a
   xlink:show = "new" | "replace"
   xlink:actuate = "onRequest"
   xlink:href = "<IRI>"
   target = "_replace" | "_self" | "_parent" | "_top" | "_blank" | "<XML-Name>" >
</a>

Atributos

No Señor. Nombre y descripción
1 xlink:show- con fines de documentación para procesadores compatibles con XLink. El valor predeterminado es nuevo.
2 xlink:actuate - con fines de documentación para procesadores compatibles con XLink.
3 xlink:href - ubicación del objeto referenciado.
4 target - se utiliza cuando son posibles los objetivos para el recurso final.

Ejemplo

testSVG.htm
<html>
   <title>SVG Linking</title>
   <body>
   
      <h1>Sample Link</h1>
      
      <svg width="800" height="800">
         <g>
            <a xlink:href="http://www.tutorialspoint.com"> 
               <text x="0" y="15" fill="black" >
               Click me to load TutorialsPoint DOT COM.</text>
            </a>
         </g> 
         
         <g>
            <text x="0" y="65" fill="black" >
            Click in the rectangle to load TutorialsPoint DOT COM</text>
            
            <a xlink:href="http://www.tutorialspoint.com"> 
               <rect x="100" y="80" width="300" height="100"
               style="fill:rgb(121,0,121);stroke-width:3;stroke:rgb(0,0,0)" /> 
            </a>
         </g>
      </svg>
   
   </body>
</html>

Salida

Abra textSVG.htm en el navegador web Chrome. Puede usar Chrome / Firefox / Opera para ver la imagen SVG directamente sin ningún complemento. Internet Explorer 9 y versiones posteriores también admiten la reproducción de imágenes SVG. Haga clic en el enlace y el rectángulo para ver el resultado.