SVG - Guida rapida

Cos'è SVG?

  • SVG, Scalable Vector Graphics è un linguaggio basato su XML per definire la grafica vettoriale.

  • SVG ha lo scopo di visualizzare immagini sul Web.

  • Essendo immagini vettoriali, l'immagine SVG non perde mai qualità, indipendentemente da come viene ingrandita o ridimensionata.

  • Le immagini SVG supportano l'interattività e l'animazione.

  • SVG è uno standard W3C.

  • Altri formati di immagine come le immagini raster possono anche essere bastonate con immagini SVG.

  • SVG si integra bene con XSLT e DOM di HTML.

Vantaggi

  • Utilizza qualsiasi editor di testo per creare e modificare immagini SVG.

  • Essendo basate su XML, le immagini SVG sono ricercabili, indicizzabili e possono essere inserite in script e compresse.

  • Le immagini SVG sono altamente scalabili in quanto non perdono mai la qualità, indipendentemente dal modo in cui vengono ingrandite o ridimensionate

  • Buona qualità di stampa a qualsiasi risoluzione

  • SVG è uno standard aperto

Svantaggi

  • La dimensione del formato del testo è maggiore rispetto alle immagini raster formattate in binario.

  • Le dimensioni possono essere grandi anche per immagini piccole.

Esempio

Il seguente frammento XML può essere utilizzato per disegnare un cerchio nel browser web.

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

Incorpora l'XML SVG direttamente in una pagina 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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. In Internet Explorer, sono necessari i controlli ActiveX per visualizzare le immagini SVG.

Come SVG si integra con HTML

  • L'elemento <svg> indica l'inizio dell'immagine SVG.

  • Gli attributi width e height dell'elemento <svg> definiscono l'altezza e la larghezza dell'immagine SVG.

  • Nell'esempio sopra, abbiamo usato un elemento <circle> per disegnare un cerchio.

  • Gli attributi cx e cy rappresentano il centro del cerchio. Il valore predefinito è (0,0). L'attributo r rappresenta il raggio del cerchio.

  • Altri attributi tratto e larghezza del tratto controllano il contorno del cerchio.

  • L'attributo fill definisce il colore di riempimento del cerchio.

  • Il tag </svg> di chiusura indica la fine dell'immagine SVG.

SVG fornisce un numero di forme che possono essere utilizzate per disegnare immagini. Di seguito sono riportate le forme comuni.

Sr.No. Tipo di forma e descrizione
1 rect

Utilizzato per disegnare un rettangolo.

2 cerchio

Usato per disegnare un cerchio.

3 ellisse

Utilizzato per disegnare un'ellisse.

4 linea

Utilizzato per disegnare una linea.

5 poligono

Utilizzato per disegnare una forma chiusa costituita da linee rette collegate.

6 polilinea

Utilizzato per disegnare una forma aperta costituita da linee rette collegate.

7 sentiero

Utilizzato per disegnare qualsiasi percorso.

L'elemento <testo> viene utilizzato per disegnare il testo.

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <text>elemento. Abbiamo mostrato solo gli attributi principali.

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

Attributi

Sr.No. Attributo e descrizione
1 x - Coordinate dell'asse x dei glifi.
2 y - Coordinate dell'asse y dei glifi.
3 dx - spostamento lungo l'asse x.
4 dy - spostamento lungo l'asse y.
5 rotate - rotazione applicata a tutti i glifi.
6 textlength - lunghezza di rendering del testo.
7 lengthAdjust - tipo di regolazione con la lunghezza resa del testo.

Esempio

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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Testo con rotazione

<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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Testo multilinea

<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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Testo collegamento ipertestuale

<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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

SVG supporta più proprietà di tratto.

Di seguito sono riportate le principali proprietà di tratto utilizzate.

Sr.No. Tipo di corsa e descrizione
1 stroke - definisce il colore del testo, della linea o del contorno di qualsiasi elemento.
2 stroke-width - definisce lo spessore del testo, della linea o del contorno di qualsiasi elemento.
3 stroke-linecap - definisce diversi tipi di fine di una linea o contorno di qualsiasi percorso.
4 stroke-dasharray - utilizzato per creare linee tratteggiate.

Esempio

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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Larghezza del tratto

<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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

stroke-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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

ictus-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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

SVG utilizza l'elemento <filter> per definire i filtri. L'elemento <filter> utilizza un attributo id per identificarlo in modo univoco. I filtri sono definiti all'interno degli elementi <def> e quindi sono referenziati dagli elementi grafici tramite i loro ID.

SVG fornisce un ricco set di filtri. Di seguito è riportato l'elenco dei filtri comunemente utilizzati.

  • feBlend
  • feColorMatrix
  • feComponentTransfer
  • feComposite
  • feConvolveMatrix
  • feDiffuseLighting
  • feDisplacementMap
  • feFlood
  • feGaussianBlur
  • feImage
  • feMerge
  • feMorphology
  • feOffset - filtro per ombre esterne
  • feSpecularLighting
  • feTile
  • feTurbulence
  • feDistantLight
  • fePointLight
  • feSpotLight

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <filter>elemento. Abbiamo mostrato solo gli attributi principali.

<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>

Attributi

Sr.No. Nome e descrizione
1 filterUnits- unità per definire la regione dell'effetto del filtro. Specifica il sistema di coordinate per i vari valori di lunghezza all'interno del filtro e per gli attributi che definiscono la sottoregione del filtro. Se filterUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente in vigore nel momento in cui viene utilizzato l'elemento "filtro". Se filterUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento "filtro". L'impostazione predefinita è userSpaceOnUse.
2 primitiveUnits- unità per definire la regione dell'effetto del filtro. Specifica il sistema di coordinate per i vari valori di lunghezza all'interno del filtro e per gli attributi che definiscono la sottoregione del filtro. Se filterUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente in vigore nel momento in cui viene utilizzato l'elemento "filtro". Se filterUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento "filtro". L'impostazione predefinita è userSpaceOnUse.
3 x- Coordinata dell'asse x del riquadro di delimitazione del filtro. Il valore predefinito è 0.
4 y- Coordinata dell'asse y del riquadro di delimitazione del filtro. L'impostazione predefinita è 0.
5 width- larghezza del riquadro di delimitazione del filtro. L'impostazione predefinita è 0.
6 height- altezza del box di delimitazione del filtro. L'impostazione predefinita è 0.
7 filterRes - numeri che rappresentano le regioni del filtro.
8 xlink:href - utilizzato per fare riferimento a un altro filtro.

Esempio

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>
  • Due elementi <filter> definiti come filtro1 e filtro2.

  • L'effetto del filtro feGaussianBlur definisce l'effetto di sfocatura con la quantità di sfocatura che utilizza deviazione std.

  • in = "SourceGraphic" definisce che l'effetto è applicabile all'intero elemento.

  • L'effetto del filtro feOffset viene utilizzato per creare l'effetto ombra. in = "SourceAlpha" definisce che l'effetto è applicabile per la parte alfa della grafica RGBA.

  • Gli elementi <rect> collegavano i filtri utilizzando l'attributo filter.

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Filtro con effetto ombra

<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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

SVG utilizza l'elemento <pattern> per definire i pattern. I modelli vengono definiti utilizzando l'elemento <pattern> e vengono utilizzati per riempire gli elementi grafici in modo affiancato.

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <pattern>elemento. Abbiamo mostrato solo gli attributi principali.

<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>

Attributi

Sr.No. Nome e descrizione
1 patternUnits- unità per definire la regione dell'effetto dei modelli. Specifica il sistema di coordinate per i vari valori di lunghezza all'interno del modello e per gli attributi che definiscono la sottoregione del modello. Se patternUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente in posizione nel momento in cui viene utilizzato l'elemento 'pattern'. Se patternUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento "pattern". L'impostazione predefinita è userSpaceOnUse.
2 patternContentUnits- unità per definire la regione del contenuto del modello. Specifica il sistema di coordinate per i vari valori di lunghezza all'interno del modello e per gli attributi che definiscono la sottoregione del modello. Se patternContentUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente in posizione nel momento in cui viene utilizzato l'elemento 'pattern'. Se patternContentUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento "pattern". L'impostazione predefinita è userSpaceOnUse.
3 x- Coordinata dell'asse x del riquadro di delimitazione del modello. Il valore predefinito è 0.
4 y- Coordinata dell'asse y del riquadro di delimitazione del modello. L'impostazione predefinita è 0.
5 width- larghezza del riquadro di delimitazione del motivo. L'impostazione predefinita è 0.
6 height- altezza del riquadro di delimitazione del motivo. L'impostazione predefinita è 0.
7 preserveAspectRatio - per preservare il rapporto larghezza / altezza del contenuto originale.
8 xlink:href - usato per riferirsi a un altro modello.

Esempio

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> definito come pattern1.

  • In pattern, viene definita una casella di visualizzazione e viene definito un percorso che deve essere utilizzato come pattern.

  • nell'elemento rect, nell'attributo fill, l'URL del pattern è specificato per riempire il rettangolo con il pattern creato in precedenza.

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Il gradiente si riferisce alla transizione graduale di un colore a un altro colore all'interno di una forma. SVG fornisce due tipi di sfumature.

  • Linear Gradients - Rappresenta la transizione lineare da un colore all'altro da una direzione all'altra.

  • Radial Gradients - Rappresenta la transizione circolare di un colore in un altro da una direzione all'altra.

Gradienti lineari

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <linearGradient>elemento. Abbiamo mostrato solo gli attributi principali.

<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>

Attributi

Sr.No. Nome e descrizione
1 gradientUnits- unità per definire il sistema di coordinate per i vari valori di lunghezza all'interno del gradiente. Se gradienteUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente al momento in cui viene utilizzato l'elemento gradiente. Se patternContentUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento gradiente. L'impostazione predefinita è userSpaceOnUse.
2 x1- Coordinata dell'asse x del vettore gradiente. Il valore predefinito è 0.
3 y1- Coordinata dell'asse y del vettore gradiente. L'impostazione predefinita è 0.
4 x2- Coordinata dell'asse x del vettore gradiente. Il valore predefinito è 0.
5 y2- Coordinata dell'asse y del vettore gradiente. L'impostazione predefinita è 0.
6 spreadMethod- indica il metodo per diffondere il gradiente all'interno dell'elemento grafico. L'impostazione predefinita è "pad".
7 xlink:href - usato per riferirsi a un altro gradiente.

Esempio

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> definito come sampleGradient.

  • In linearGradient, due offset sono definiti con due colori.

  • nell'elemento rect, nell'attributo fill, l'URL del gradiente è specificato per riempire il rettangolo con il gradiente creato in precedenza.

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Gradienti radiali

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <radialGradient>elemento. Abbiamo mostrato solo gli attributi principali.

<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>

Attributi

Sr.No. Nome e descrizione
1 gradientUnits- unità per definire il sistema di coordinate per i vari valori di lunghezza all'interno del gradiente. Se gradienteUnits = "userSpaceOnUse", i valori rappresentano i valori nel sistema di coordinate utente corrente al momento in cui viene utilizzato l'elemento gradiente. Se patternContentUnits = "objectBoundingBox", i valori rappresentano i valori in frazioni o percentuali del riquadro di delimitazione sull'elemento di riferimento in posizione nel momento in cui viene utilizzato l'elemento gradiente. L'impostazione predefinita è userSpaceOnUse.
2 cx- Coordinata dell'asse x del centro del cerchio più grande del vettore gradiente. Il valore predefinito è 0.
3 cy- Coordinata dell'asse y del centro del cerchio più grande del vettore gradiente. L'impostazione predefinita è 0.
4 r- raggio del centro del cerchio più grande del vettore gradiente. Il valore predefinito è 0.
5 fx- punto focale del gradiente radiale. L'impostazione predefinita è 0.
6 fy- punto focale del gradiente radiale. L'impostazione predefinita è 0.
7 spreadMethod- indica il metodo per diffondere il gradiente all'interno dell'elemento grafico. L'impostazione predefinita è "pad".
8 xlink:href - usato per riferirsi a un altro gradiente.

Esempio

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> definito come sampleGradient.

  • In radialGradient, due offset sono definiti con due colori.

  • nell'elemento rect, nell'attributo fill, l'URL del gradiente è specificato per riempire il rettangolo con il gradiente creato in precedenza.

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG.

Le immagini SVG possono essere rese reattive alle azioni dell'utente. SVG supporta eventi del puntatore, eventi della tastiera e eventi del documento. Considera il seguente esempio.

Esempio

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>

Spiegazione

  • SVG supporta le funzioni JavaScript / ECMAScript. Il blocco di script deve essere nel blocco CDATA, considerare il supporto dei dati dei caratteri in XML.

  • Gli elementi SVG supportano eventi del mouse, eventi della tastiera. Abbiamo utilizzato l'evento onClick per chiamare una funzione javascript.

  • Nelle funzioni javascript, document rappresenta il documento SVG e può essere utilizzato per ottenere gli elementi SVG.

  • Nelle funzioni javascript, l'evento rappresenta l'evento corrente e può essere utilizzato per ottenere l'elemento di destinazione su cui è stato generato l'evento.

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG. Fare clic su ogni testo e rettangolo per vedere il risultato.

L'elemento <a> viene utilizzato per creare un collegamento ipertestuale. L'attributo "xlink: href" viene utilizzato per passare l'IRI (Internationalized Resource Identifiers) che è complementare all'URI (Uniform Resource Identifiers).

Dichiarazione

Di seguito è riportata la dichiarazione della sintassi di <a>elemento. Abbiamo mostrato solo gli attributi principali.

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

Attributi

Sr.No. Nome e descrizione
1 xlink:show- a scopo di documentazione per i processori che supportano XLink. L'impostazione predefinita è nuovo.
2 xlink:actuate - a scopo di documentazione per i processori che supportano XLink.
3 xlink:href - posizione dell'oggetto referenziato.
4 target - utilizzato quando sono possibili obiettivi per la risorsa finale.

Esempio

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>

Produzione

Apri textSVG.htm nel browser web Chrome. Puoi utilizzare Chrome / Firefox / Opera per visualizzare l'immagine SVG direttamente senza alcun plug-in. Internet Explorer 9 e versioni successive supportano anche il rendering di immagini SVG. Fare clic sul collegamento e sul rettangolo per vedere il risultato.