Što je SVG?
•Scalable Vector Graphics
• SVG grafika ne gubi kvalitetu prilikom zumiranja ili resize-a
• Svi crteži mogu biti interaktivni i dinamički
• Svaki element i atribut SVG datoteke može biti animiran
• Animacije mogu biti definirane i pokrenute interaktivno ili pomoću skripti
• SVG integrira druge W3C standarde kao što su DOM, XSL …
Uporaba SVG-a u HTML-u
Primjer grafike:
Kod u HTML-u:
<svg width=”100″ height=”100″>
<circle cx=”50″ cy=”50″ r=”40″ stroke=”green” stroke-width=”4″ fill=”yellow” />
</svg>
SVG i HTML5
Primjeri crtanja osnovnih geometrijskih oblika:
SVG nam dopušta da u HTML-u crtamo: kvadrate, krugove, elipse, linije…
Kod za elipsu:
<svg height=”140″ width=”500″>
<ellipse cx=”200″ cy=”80″ rx=”100″ ry=”50″
style=”fill:yellow;stroke:purple;stroke-width:2″ />
</svg>
Kako nacrtati liniju uz pomoć SVG-a:
<svg height=”210″ width=”500″>
<line x1=”0″ y1=”0″ x2=”200″ y2=”200″ style=”stroke:rgb(255,0,0);stroke-width:2″ />
</svg>
SVG nudi ispune boja (gradient, blur, drop shadows, linear, radial)
Kod za Radial ispunu:
<svg height=”150″ width=”500″>
<defs>
<radialGradient id=”grad1″ cx=”50%” cy=”50%” r=”50%” fx=”50%” fy=”50%”>
<stop offset=”0%” style=”stop-color:rgb(255,255,255);
stop-opacity:0″ />
<stop offset=”100%” style=”stop-color:rgb(0,0,255);stop-opacity:1″ />
</radialGradient>
</defs>
<ellipse cx=”200″ cy=”70″ rx=”85″ ry=”55″ fill=”url(#grad1)” />
</svg>
SVG i Canvas
SVG | HTML Canvas |
SVG ima bolju skalabilnost, tako da može imati bolje slike sa velikom kvalitetom na bilo kojoj rezoluciji | Canvas ima lošu skalabilnost. Nije prikladan za rad s velikim rezolucijama |
SVG daje bolje performanse sa manjim brojem objekata ili većom površinom | Canvas daje bolje performanse za rad sa manjim površinama ili većim brojem objekata |
SVG se može modificirati uz pomoć skripte i CSS-a | Canvas se može modificirati samo uz pomoć skripte |
SVG je baziran na vektorima i sastavljen je od oblika | Canvas je baziran na pixelima |