Scalable Vector Graphics

z Wikipédie, slobodnej encyklopédie
(Presmerované z SVG)
Prejsť na: navigácia, hľadanie
Porovnanie bitmapových formátov s formátom SVG.
Príklad SVG obrázku.
Obrázok orka vo formáte SVG.

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

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

Prehľad[upraviť | upraviť zdroj]

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 / digitálne obrázky
  3. 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. Bohatú množinu popisovačov udalostí ako onmouseover a onclick je možné priradiť akémukoľvek SVG grafickému objektu. Vďaka svojej kompatibilite a výhodnému využitiu iných webových štandardov je možné skriptovanie robiť na SVG elementoch a iných XML elementoch z rozličných menných priestorov zároveň na tej istej webstránke.

Ak je problémom úložný priestor, SVG obrázky sa niekedy ukladajú s gzip kompresiou. V takom prípade sa môžu nazývať „SVGZ súbory“. Pretože XML obsahuje množstvo redundantných dát, XML sa zvyčajne veľmi dobre komprimuje a tak 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 rasterizovaná verzia.

Potenciálny vplyv[upraviť | upraviť zdroj]

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ú web stránky, ktoré sa správajú ako počítačová aplikácia použitím metódy známej ako Ajax. SVG má potenciál do veľkej miery rozšíriť možnosti Ajax-u tým, že poskytuje ideálny mechanizmus pre dynamické vykresľovanie elementov stránky.

Mobilné profily[upraviť | upraviť zdroj]

Kvôli záujmu z priemyselnej sféry boli predstavené dva mobilné profily SVG1.1: SVG Tiny (SVGT) a SVG Basic (SVGB). Sú to podmnožiny plného SVG štandardu, predovšetkým cielené pre user agentov s obmedzenými možnosťami. Konkrétne SVG Tiny bolo definované pre do veľkej miery obmedzené mobilné zariadenia ako mobilný telefón a SVG Basic bolo definované pre 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 pre skriptovanie, ale pretože sú to plne kompatibilné podmožiny plného štandardu, väčšinu SVG grafiky bude stále možné vykresliť na zariadeniach podporujúcich iba mobilné profily.

História vývoja[upraviť | upraviť zdroj]

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ť | upraviť zdroj]

Použitie SVG na webe je v začiatkoch. Po dlhej dobe používania rastrových formátov a Macromedia Flash existuje veľká neochota, ale ani podpora v prehliadačoch nie je najlepšia a používatelia väčšiny prehliadačov si musia dodatočne nainštalovať zásuvný modul. Web stránky, ktoré používajú SVG obrázky tiež zvyčajne poskytujú rastrový formát, buď automaticky pomocou HTTP content negotiation alebo nechajú voľbu na používateľovi. Alternatívne obrázky sa zvyčajne rasterizujú knižnicami ako ImageMagick, ktoré poskytujú rýchlu, ale neúplnú implementáciu SVG alebo Batik, ktorý implementuje celé SVG, ale je pomalší.

Podpora pomocou zásuvných modulov[upraviť | upraviť zdroj]

V niektorých prehliadačoch ako Internet Explorer je potrebný 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ť | upraviť zdroj]

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

  • webový prehliadač Opera (od verzie 8.0 Beta 3) podporuje špecifikáciu SVG 1.1 Tiny, kým Opera 9 pridáva podporu SVG 1.1 Basic a niektoré aspekty SVG 1.1 Full.
  • prehliadač Mozilla Firefox (od 1.5 Alpha) a balík aplikácií pre prácu s internetom Mozilla SeaMonkey, ktoré zdieľajú kódovú základňu, majú oba neúplnú podporu špecifikácie SVG 1.1 Full. Prehľad podporovaných modulov v prehliadači Firefox 1.5 sa nachádza tu. Prehľad modulov, na ktorých sa pracuje vo vývojovej vetve Firefoxu sa nachádza tu.
  • prehliadač Amaya má čiastočnú podporu SVG
  • Konqueror projektu KDE má pomerne úplný zásuvný modul SVG zvaný KSVG. Vývoj KSVG1 sa skončil, ale na KSVG2 sa aktívne pracuje vyše roka a je predurčený na zaradenie do jadra KDE 4, čo by mohlo umožniť jeho natívne vykresľovanie niekedy v budúcnosti. Inde v KDE je formát veľmi užitočný a od verzie 3.4 sú podporované SVG pozadia.
  • prehliadač Safari od Apple, ktorý bol založený na vykresľovacom engine KHTML Konquerora, ale odvtedy sa oddelil na projekt Webkit tiež nedávno začas s portovaním KSVG2 do WebCore, čím sa začala práca na zaradenie natívnej podpory SVG do Safari
  • Batik SVG Toolkit môžu používať Java programy na vykresľovanie, tvorbu, a manipuláciu s SVG grafikou
  • SVG Salamander je otvorená alternatíva k Batik pre Javu

Mobilná podpora[upraviť | upraviť zdroj]

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. Macromedia Flash Lite od Macromedie má 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.

Tools[upraviť | upraviť zdroj]

  • väčšina hlavných editorov vektorovej grafiky vrátane Adobe Illustratora a Corel Draw 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.
  • Inkscape je open source multiplatformový vektorový editor, ktorý používa SVG ako svoj natívny formát. Sodipodi je predchodcom Inkscape a je stále nezávisle vyvíjaný.
  • Skencil je open source vektorový editor s importom a exportom SVG.
  • SVGmaker tvorí SVG zo štandardných Windowsových programov vrátane všadeprítomného balíka Office.
  • Sketsa je proprietárny editor SVG.
  • Apache Batik je Java toolkit pre aplikácie alebo applety, ktoré chú používať obrázky vo formáte SVG pre rôzne účely ako prehliadanie, tvorba a manipulácia. Batik poskytuje sadu štandardných modulov ako SVG Parser, SVG Generator a SVG DOM; tiež má aplikáciu pre prehliadanie SVG.
  • SVG Scene toolkit umožňuje vývojárom vytvoriť aplikačné pohľady zostavením SVG obsahového modelu alebo scény. Scénu je možné súčasne zobrazovať vo viacerých oknách, aj na viacerých klientoch. Vykresľovanie SVG vykonáva Cairo a Pango, ktoré podporujú rozličné ciele, napr. Windows, MacOS, PostScript, Xlib.
  • Together, JFreeChart a OptimalJ od Compuware používajú SVG.

Pozri aj[upraviť | upraviť zdroj]

Externé odkazy[upraviť | upraviť zdroj]

Oficiálne
Demá
Software
Knižnice
Tutorialy
Články
SVG clipart