Preskocit na obsah

Scalable Vector Graphics

z Wikipedie, slobodnej encyklopedie
(Presmerovane z SVG)
Niektory z redaktorov poziadal o reviziu tohto clanku.
Redaktor si napriklad nie je isty, ci neobsahuje obsahove chyby alebo je dostatocne zrozumitelny.
Prosim, opravte a zlepsite tento clanok. Po uprave clanku mozete tuto poznamku odstranit.
Porovnanie bitmapovych formatov s formatom SVG.
Priklad SVG obrazka.
Obrazok orka vo formate SVG.

Scalable Vector Graphics (SVG) je znackovaci jazyk z rodiny znackovacich jazykov XML, ktory je primarne urceny na opis dvojrozmernej, statickej alebo animovanej vektorovej grafiky.

SVG je otvoreny standard, ktory vytvorilo konzorcium World Wide Web, zodpovedne za standardy ako HTML a XHTML.

Jazyk SVG umoznuje definovat tri typy grafickych objektov:

  1. tvary vektorovej grafiky (napr. cesty pozostavajuce z rovnych ciar a kriviek a oblasti nimi ohranicene),
  2. rastrove obrazky
  3. a text.

Graficke objekty je mozne zoskupovat, stylizovat, transformovat a zoskupovat do vopred vykreslenych objektov. Text moze byt v ktoromkolvek mennom priestore XML vhodnom pre aplikaciu, co rozsiruje vyhladavacie moznosti a pristupnost SVG grafiky. Medzi moznosti patria vnorene transformacie, orezavacie cesty, alfa masky, filtrovacie efekty, sablony objektov a rozsiritelnost.

SVG kresby mozu byt dynamicke a interaktivne. Document Object Model (DOM) pre SVG, ktoreho podmnozinou je uplne XML DOM, umoznuje priamu a vykonnu animaciu vektorovej grafiky pomocou ECMAScriptu alebo SMIL. Lubovolnemu grafickemu objektu SVG je mozne priradit reakciu na udalost ako onmouseover a onclick. Vdaka svojej kompatibilite a vyhodnemu vyuzitiu inych webovych standardov je skriptovanie mozne vykonavat sucasne na SVG elementoch a inych XML elementoch z rozlicnych mennych priestorov v ramci tej istej webovej stranky.

Ak je problemom dostupnost ukladacieho priestoru, tak su SVG obrazky ukladane s pouzitim kompresie, naprikld gzip. V takom pripade mozu byt nazyvane ,,SVGZ subory". Formaty pouzivajuce jazyk XML obvykle osahuju mnozstvo redundantnych udajov, preto sa XML zvycajne velmi dobre komprimuje a vysledne skomprimovane subory mozu byt ovela mensie. Casto je vsak uz povodny vektorovy subor (SVG) mensi ako jeho rasterizovana verzia.

Potencialny vplyv

[upravit | upravit zdroj]

Rozsirenie SVG klientov, obzvlast nativnou podporou vo webovych prehliadacoch, sa pravdepodobne revolucne odrazi na webe. Sucasnym trendom su webove stranky, ktore sa spravaju ako pocitacova aplikacia pouzitim technologie znamej ako Ajax. SVG ma potencial do velkej miery rozsirit moznosti Ajaxu tym, ze poskytuje idealny mechanizmus na dynamicke vykreslovanie elementov stranky.

Mobilne profily

[upravit | upravit zdroj]

Z dovodu zaujmu z priemyselnej sfery boli predstavene dva mobilne profily SVG 1.1: SVG Tiny (SVGT) a SVG Basic (SVGB). Su to podmnoziny plneho SVG standardu, ktore su cielene pre klientske aplikacie s obmedzenymi moznostami. Konkretne SVG Tiny bolo definovane pre znacne obmedzene mobilne zariadenia ako mobilny telefon a SVG Basic bolo definovane na pouzitie v mobilnych zariadeniach vyssej urovne, ako PDAs.

Ani jeden z mobilnych profilov neposkytuje uplnu podporu DOM, hoci SVG Basic ma nepovinnu podporu skriptovania, ale su to uplne kompatibilne podmoziny uplneho standardu, preto je aj bez ich pouzitia mozne i na obmedzenych mobilnych zariadeniach vykreslovat znacnu cast SVG grafiky.

Historia vyvoja

[upravit | upravit zdroj]

SVG vyvinula SVG Working Group W3C od roku 1998, po tom ako Macromedia a Microsoft predstavili Vector Markup Language (VML), kym Adobe Systems a Sun Microsystems predlozili konkurencny format znamy ako PGML. Pracovnej skupine predsedal Chris Lilley z W3C.

  • SVG 1.0 sa stalo Odporucanim W3C 4. septembra 2001.
  • SVG 1.1 sa stalo Odporucanim W3C 14. januara 2003.
  • SVG Tiny a SVG Basic (Mobilne SVG profily) sa stali Odporucanim W3C 14. januara 2003. Su opisane ako profily SVG 1.1.
  • SVG Tiny 1.2 sa stalo Kandidatnym odporucanim W3C 10. augusta 2006. SVG Full 1.2 je v sucasnosti Pracovnym nacrtom W3C. SVG 1.2 Mobile bol zamerne uvolneny ako profil a neskor prepracovany na uplnu specifikaciu vratane vsetkych potrebnych sucasti SVG 1.1 a SVG 1.2. Podobne prepracovany nacrt SVG 1.2 Full zatial nebol uvolneny.

Podpora SVG v prehliadacoch a inych aplikaciach

[upravit | upravit zdroj]

Podpora SVG na webe rastie a v sucasnosti je tento format dostatocne podporovany aktualnymi verziami majoritnych prehliadacov. Webove stranky, ktore pouzivaju SVG obrazky sice casto poskytuju aj rastrovu verziu obrazka, ktora je klientovi posielana bud automaticky pomocou HTTP content negotiation, alebo po volbe pouzivatela, no toto riesenie pomaly prestava byt nevyhnutnym. Generovanie alternativnych (rastrovych) verzii obrazkov moze byt automatizovane kniznicami ako ImageMagick, ktora poskytuje rychlu, ale neuplnu implementaciu SVG alebo Batik, ktora implementuje cele SVG, ale je pomalsia.

Podpora pomocou zasuvnych modulov

[upravit | upravit zdroj]

Starsie verzie prehliadacov (najma Internet Explorera) vyzadovali na prehliadanie SVG obrazkov zasuvny modul. Medzi dnes dostupne na stolnom pocitaci patria Adobe SVG Viewer a Corel SVG Viewer (uz nie je podporovany).

Nativna podpora

[upravit | upravit zdroj]

Nativna podpora ma niekolko vyhod. Napriklad nie je potrebny zasuvny modul, SVG je mozne kombinovat s inymi formatmi v ramci jedneho dokumentu a skriptovanie medzi jednotlivymi dokumentmi je ovela spolahlivejsie.

Mobilna podpora

[upravit | upravit zdroj]

Na mobilnych zariadeniach su najpopularnejsie implementacie pre mobilne telefony od Ikivo a Bitflash, kym pre PDA existuju implementacie Bitflash a Intesis. Zaniknuty Macromedia Flash Lite od zaniknutej Macromedie mal volitelnu podporu SVG Tiny od verzie 1.1. Na konferencii SVGOpen 2005 demonstroval Sun mobilnu implementaciu SVG Tiny 1.1 pre platformu CDLC. TinyLine SVG viewer, napisany v Jave, je tiez cieleny pre mobilne zariadenia.

  • Inkscape je open source multiplatformovy vektorovy editor, ktory pouziva SVG ako svoj nativny format. (Jeho predchodca Sodipodi zanikol v roku 2004).
  • Vacsina hlavnych editorov vektorovej grafiky vratane Adobe Illustratora a CorelDRAW podporuju export a import SVG.
  • OpenOffice.org Draw 1.1 a vyssi exportuje SVG subory, pre Draw 2.0, existuje dodatocny import pre import SVG.
  • Skencil je open source vektorovy editor s importom a exportom SVG.
  • SVGmaker patri medzi aplikacie pre OS Windows schopne tvorit SVG subory, ktore su siroko pouzitelne (vratane dokumentov balika MS Office).
  • Sketsa Archivovane 2006-04-09 na Wayback Machine je proprietarny SVG editor.
  • Apache Batik je Java toolkit pre aplikacie alebo applety, ktore chu pouzivat obrazky vo formate SVG na rozne ucely ako prehliadanie, tvorba a manipulacia. Batik poskytuje set standardnych modulov ako SVG Parser, SVG Generator a SVG DOM; tiez ma aplikaciu na prehliadanie SVG.
  • SVG Scene toolkit umoznuje vyvojarom vytvorit aplikacne pohlady zostavenim obsahoveho modelu alebo sceny SVG. Scenu je mozne sucasne zobrazovat vo viacerych oknach a na viacerych klientoch. Vykreslovanie SVG vykonava Cairo a Pango, ktore podporuju rozlicne ciele, napr. Windows, OS X, PostScript, Xlib.
  • Together, JFreeChart a OptimalJ od Compuware tiez pouzivaju SVG.

Externe odkazy

[upravit | upravit zdroj]
Oficialne
Dema
Softver
Kniznice
Tutorialy
Clanky
SVG clipart