Scalable Vector Graphics

Scalable Vector Graphics (SVG) je značkovací jazyk z rodiny značkovacích jazykov XML, ktorý je primárne určený na opis dvojrozmernej, statickej alebo animovanej vektorovej grafiky.

Porovnanie bitmapových formátov s formátom SVG.
Príklad SVG obrázka.
Obrázok orka vo formáte SVG.

SVG je otvorený štandard, ktorý vytvorilo konzorcium World Wide Web, zodpovedné za štandardy ako HTML a XHTML.

Prehľad

upraviť

Jazyk SVG umožňuje definovať tri typy grafických objektov:

  1. tvary vektorovej grafiky (napr. cesty pozostávajúce z rovných čiar a kriviek a oblasti nimi ohraničené),
  2. rastrové obrázky
  3. a text.

Grafické objekty je možné zoskupovať, štylizovať, transformovať a zoskupovať do vopred vykreslených objektov. Text môže byť v ktoromkoľvek mennom priestore XML vhodnom pre aplikáciu, čo rozširuje vyhľadávacie možnosti a prístupnosť SVG grafiky. Medzi možnosti patria vnorené transformácie, orezávacie cesty, alfa masky, filtrovacie efekty, šablóny objektov a rozšíriteľnosť.

SVG kresby môžu byť dynamické a interaktívne. Document Object Model (DOM) pre SVG, ktorého podmnožinou je úplné XML DOM, umožňuje priamu a výkonnú animáciu vektorovej grafiky pomocou ECMAScriptu alebo SMIL. Ľubovoľnému grafickému objektu SVG je možné priradiť reakciu na udalosť ako onmouseover a onclick. Vďaka svojej kompatibilite a výhodnému využitiu iných webových štandardov je skriptovanie možné vykonávať súčasne na SVG elementoch a iných XML elementoch z rozličných menných priestorov v rámci tej istej webovej stránky.

Ak je problémom dostupnosť ukladacieho priestoru, tak sú SVG obrázky ukladané s použitím kompresie, napríkld gzip. V takom prípade môžu byť nazývané „SVGZ súbory“. Formáty používajúce jazyk XML obvykle osahujú množstvo redundantných údajov, preto sa XML zvyčajne veľmi dobre komprimuje a výsledné skomprimované súbory môžu byť oveľa menšie. Často je však už pôvodný vektorový súbor (SVG) menší ako jeho rasterizovaná verzia.

Potenciálny vplyv

upraviť

Rozšírenie SVG klientov, obzvlášť natívnou podporou vo webových prehliadačoch, sa pravdepodobne revolučne odrazí na webe. Súčasným trendom sú webové stránky, ktoré sa správajú ako počítačová aplikácia použitím technológie známej ako Ajax. SVG má potenciál do veľkej miery rozšíriť možnosti Ajaxu tým, že poskytuje ideálny mechanizmus na dynamické vykresľovanie elementov stránky.

Mobilné profily

upraviť

Z dôvodu záujmu z priemyselnej sféry boli predstavené dva mobilné profily SVG 1.1: SVG Tiny (SVGT) a SVG Basic (SVGB). Sú to podmnožiny plného SVG štandardu, ktoré sú cielené pre klientské aplikácie s obmedzenými možnosťami. Konkrétne SVG Tiny bolo definované pre značne obmedzené mobilné zariadenia ako mobilný telefón a SVG Basic bolo definované na použitie v mobilných zariadeniach vyššej úrovne, ako PDAs.

Ani jeden z mobilných profilov neposkytuje úplnú podporu DOM, hoci SVG Basic má nepovinnú podporu skriptovania, ale sú to úplne kompatibilné podmožiny úplného štandardu, preto je aj bez ich použitia možné i na obmedzených mobilných zariadeniach vykresľovať značnú časť SVG grafiky.

História vývoja

upraviť

SVG vyvinula SVG Working Group W3C od roku 1998, po tom ako Macromedia a Microsoft predstavili Vector Markup Language (VML), kým Adobe Systems a Sun Microsystems predložili konkurenčný formát známy ako PGML. Pracovnej skupine predsedal Chris Lilley z W3C.

  • SVG 1.0 sa stalo Odporúčaním W3C 4. septembra 2001.
  • SVG 1.1 sa stalo Odporúčaním W3C 14. januára 2003.
  • SVG Tiny a SVG Basic (Mobilné SVG profily) sa stali Odporúčaním W3C 14. januára 2003. Sú opísané ako profily SVG 1.1.
  • SVG Tiny 1.2 sa stalo Kandidátnym odporúčaním W3C 10. augusta 2006. SVG Full 1.2 je v súčasnosti Pracovným náčrtom W3C. SVG 1.2 Mobile bol zámerne uvoľnený ako profil a neskôr prepracovaný na úplnú špecifikáciu vrátane všetkých potrebných súčastí SVG 1.1 a SVG 1.2. Podobne prepracovaný náčrt SVG 1.2 Full zatiaľ nebol uvoľnený.

Podpora SVG v prehliadačoch a iných aplikáciách

upraviť

Podpora SVG na webe rastie a v súčasnosti je tento formát dostatočne podporovaný aktuálnymi verziami majoritných prehliadačov. Webové stránky, ktoré používajú SVG obrázky síce často poskytujú aj rastrovú verziu obrázka, ktorá je klientovi posielaná buď automaticky pomocou HTTP content negotiation, alebo po voľbe používateľa, no toto riešenie pomaly prestáva byť nevyhnutným. Generovanie alternatívnych (rastrových) verzií obrázkov môže byť automatizované knižnicami ako ImageMagick, ktorá poskytuje rýchlu, ale neúplnú implementáciu SVG alebo Batik, ktorá implementuje celé SVG, ale je pomalšia.

Podpora pomocou zásuvných modulov

upraviť

Staršie verzie prehliadačov (najmä Internet Explorera) vyžadovali na prehliadanie SVG obrázkov zásuvný modul. Medzi dnes dostupné na stolnom počítači patria Adobe SVG Viewer a Corel SVG Viewer (už nie je podporovaný).

Natívna podpora

upraviť

Natívna podpora má niekoľko výhod. Napríklad nie je potrebný zásuvný modul, SVG je možné kombinovať s inými formátmi v rámci jedného dokumentu a skriptovanie medzi jednotlivými dokumentmi je oveľa spoľahlivejšie.

Mobilná podpora

upraviť

Na mobilných zariadeniach sú najpopulárnejšie implementácie pre mobilné telefóny od Ikivo a Bitflash, kým pre PDA existujú implementácie Bitflash a Intesis. Zaniknutý Macromedia Flash Lite od zaniknutej Macromedie mal voliteľnú podporu SVG Tiny od verzie 1.1. Na konferencii SVGOpen 2005 demonštroval Sun mobilnú implementáciu SVG Tiny 1.1 pre platformu CDLC. TinyLine SVG viewer, napísaný v Jave, je tiež cielený pre mobilné zariadenia.

  • Inkscape je open source multiplatformový vektorový editor, ktorý používa SVG ako svoj natívny formát. (Jeho predchodca Sodipodi zanikol v roku 2004).
  • Väčšina hlavných editorov vektorovej grafiky vrátane Adobe Illustratora a CorelDRAW podporujú export a import SVG.
  • OpenOffice.org Draw 1.1 a vyšší exportuje SVG súbory, pre Draw 2.0, existuje dodatočný import pre import SVG.
  • Skencil je open source vektorový editor s importom a exportom SVG.
  • SVGmaker patrí medzi aplikácie pre OS Windows schopné tvoriť SVG súbory, ktoré sú široko použiteľné (vrátane dokumentov balíka MS Office).
  • Sketsa Archivované 2006-04-09 na Wayback Machine je proprietárny SVG editor.
  • Apache Batik je Java toolkit pre aplikácie alebo applety, ktoré chú používať obrázky vo formáte SVG na rôzne účely ako prehliadanie, tvorba a manipulácia. Batik poskytuje set štandardných modulov ako SVG Parser, SVG Generator a SVG DOM; tiež má aplikáciu na prehliadanie SVG.
  • SVG Scene toolkit umožňuje vývojárom vytvoriť aplikačné pohľady zostavením obsahového modelu alebo scény SVG. Scénu je možné súčasne zobrazovať vo viacerých oknách a na viacerých klientoch. Vykresľovanie SVG vykonáva Cairo a Pango, ktoré podporujú rozličné ciele, napr. Windows, OS X, PostScript, Xlib.
  • Together, JFreeChart a OptimalJ od Compuware tiež používajú SVG.

Pozri aj

upraviť

Externé odkazy

upraviť
Oficiálne
Demá
Softvér
Knižnice
Tutoriály
Články
SVG clipart