SVG
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. január 21-én felülvizsgált
verziótól ; az ellenőrzések 25 szerkesztést igényelnek .
Az SVG (az angol S calable V ector G raphics - scalable vector graphics szóból ) egy méretezhető vektorgrafikus jelölőnyelv , amelyet a World Wide Web Consortium (W3C) hozott létre, és amely az XML kiterjeszthető jelölőnyelv egy részhalmazában található , és a két- dimenziós vektor és vegyes vektor / raszterdiagramok XML formátumban. Támogatja mind az álló, mind az animált interaktív grafikát – vagy más szóval, deklaratív és scripted. Nem támogatja a háromdimenziós objektumok leírását (nem tévesztendő össze a chiaroscuro háromdimenziós szimulációjával). Ez egy nyílt szabvány, amelyet a W3C ajánl, amely olyan szabványok mögött áll, mint a HTML és az XHTML . Az SVG a VML és PGML jelölőnyelveken alapul . 1999 óta fejlesztik. 2001-ben megjelent az 1.0-s verzió, 2011-ben az 1.1-es verzió, amely a mai napig aktuális. A 2-es verzió jelenleg aktív fejlesztés alatt áll.
Nyelvi funkciók
- Útvonalak leírása ( angol path ). Lehetővé teszi bármely szám megadását egy kompakt karakterláncban, amely leírja a kezdőponttól a végpontig tartó utat bármely közbenső koordinátán keresztül. Az adatkarakterláncot a dtag attribútum pathhatározza meg, és betűk és számok által kódolt parancsokat tartalmaz. A betű határozza meg a parancs típusát, a számok - a paramétereit (leggyakrabban - a koordinátákat). A parancsok lehetővé teszik vonalszakaszokból ( L, H, V), Bezier-görbékből ( C, S, Q, T) és ívekből ( A) álló alakzatok leírását. Egy 5 sorból álló csillagot leíró példa egy adatkarakterláncot tartalmaz parancsokkal M( eng. moveto - move to) és L( eng. lineto - vonalat húzni ide), argumentumként tartalmazza az X és Y pontok koordinátáit. Az SVG verziókban felfelé 1.2-ig terjedő leírási útvonalak csak képpontokban lehetségesek.
<útvonal kitöltése= "nincs"
stroke= "fekete" d= "M 228 238 L 328 90 L 346 250 L 201 124 L 410 150 L 228 238" />
- Alapvető geometriai formák leírása (sokszögek, téglalapok, körök stb.).
- A formákra és pályákra alkalmazható vizuális tulajdonságok széles skálája: színezés, átlátszóság, lekerekített sarkok stb.
- Interaktivitás . Minden egyes elemre és a teljes képre felakaszthatunk egy eseménykezelőt (kattintás, mozgatás, billentyűleütés stb.), így a felhasználó vezérelheti a képet (például mozgathat egyes elemeket az egérrel [1] ).
- Animáció és forgatókönyvek. Az ECMAScript vagy a JavaScript használatával még az alakzatok koordinátáinak és arányainak matematikai számításaival kapcsolatos legbonyolultabb forgatókönyveket is leírhatja. Az interaktivitással és a SMIL animációval együtt ez nagyon széles lehetőségeket biztosít a webgrafikus fejlesztők számára.
szerkesztés
- Szövegformátum – Az SVG-fájlok olvashatók és szerkeszthetők (bizonyos készségekkel) általános szövegszerkesztőkkel . Az SVG grafikát tartalmazó dokumentumok megtekintésekor hozzáférhet a megtekintett fájl kódjának megtekintéséhez és a teljes dokumentum mentéséhez. Ezenkívül az SVG-fájlok általában kisebbek, mint a hasonló JPEG- vagy GIF -képek , és jól tömöríthetők.
- A Scalable - SVG egy vektoros formátum . Lehetőség van az SVG-kép bármely részének nagyítására a minőség elvesztése nélkül. Ezenkívül lehetőség van szűrők alkalmazására az SVG-dokumentumok elemeire - speciális módosítók a bittérképes képek feldolgozásakor használt effektusokhoz hasonló effektusok létrehozásához (elmosás, kihúzás, összetett transzformációs rendszerek stb.). Az SVG kód szövegében a szűrőket a megjelenítő által megjelenített címkék írják le, ami nem befolyásolja a forrásfájl méretét, miközben biztosítja a szükséges szemléltető kifejezőerőt.
- A bittérképes grafika használata az SVG dokumentumokban széles körben elérhető. PNG, GIF vagy JPG képeket tartalmazó elemeket szúrhat be.
- Az SVG-grafikák szövege szöveg, nem kép, így kijelölhető és másolható, a keresőmotorok indexelik, és nincs szükség további metafájlok létrehozására a keresőrobotok számára .
- Az animációt SVG-ben valósítják meg a szintén a W3C konzorcium által kifejlesztett SMIL (Synchronized Multimedia Integration Language) nyelv használatával. Az ECMAScript specifikáción alapuló szkriptnyelvek támogatottak . Az SVG elemek manipulálhatók JavaScript segítségével . A szkriptek és animációk használata az SVG-ben lehetővé teszi dinamikus és interaktív grafikák létrehozását. Az SVG-ben egy eseménymodellt biztosítanak, az eseményeket nyomon követik ( oldal betöltése, paramétereinek megváltoztatása, egér, billentyűzet események stb. ). Az animációt kiválthatja egy adott esemény (például "onmouseover" vagy "onclick" ), ami interaktívvá teszi a grafikát. Minden elemnek megvannak a saját eseményei, amelyekhez egyedi szkriptek kapcsolhatók.
- Az SVG nyílt szabvány. Más formátumokkal ellentétben az SVG nem védett.
- Az SVG dokumentumok könnyen integrálhatók HTML és XHTML dokumentumokba. A külső SVG-k az <object> címkén keresztül csatlakoznak, az adatattribútum értéke az SVG jelölést tartalmazó ".svg" kiterjesztésű és MIME típusú image/svg+xml fájl neve. A szélesség és magasság attribútumok határozzák meg az SVG régió vízszintes és függőleges méreteit. Az SVG elemek kompatibilisek a HTML-lel és a DHTML-lel.
- Kompatibilitás a CSS -szel ( angol lépcsőzetes stíluslapok ). Az SVG elemek megjelenítése (formázása és díszítése) vezérelhető a CSS 2.0 stíluslapon és annak kiterjesztésein keresztül, vagy közvetlenül az SVG elem attribútumokon keresztül.
- Az SVG az XML minden előnyét biztosítja :
- Különböző környezetekben való munkavégzés képessége.
- Nemzetköziesítés ( Unicode támogatása ).
- Széles körű elérhetőség különféle alkalmazásokhoz.
- Könnyű módosítás szabványos API -kkal , például DOM -mal . Az SVG támogatja a szabványos W3C dokumentumobjektum-modellt DOM, amely hozzáférést biztosít bármely elemhez, ami bőséges lehetőséget ad az elemek, attribútumok és események dinamikus megváltoztatására.
- Könnyű konvertálás az XSLT stíluslapokkal . Mint minden XML-alapú formátum, az SVG is lehetővé teszi transzformációs táblák (XSLT) használatát a feldolgozásához. Az XML-adatok egyszerű XSL használatával SVG-vé konvertálásával könnyedén grafikusan megjelenítheti bármely adatot, például megjelenítheti a CML -ben leírt kémiai molekulákat .
A formátum hátrányai
- A 3D grafikát egyáltalán nem támogatja
- Az SVG örökli az XML minden hátrányát , például a nagy fájlméretet (utóbbit azonban kompenzálja a tömörített SVGZ formátum megléte , de használata jelenleg nehézkes, mivel az SVGZ-nek nincs saját MIME típusa ).
- Nagy leképezési alkalmazásokban nehéz használni, mivel a dokumentumot teljes egészében el kell olvasni a kép egy kis részének helyes megjelenítéséhez.
- Minél több finom részlet van a képen, annál gyorsabban növekszik az SVG adatok mérete. Extrém eset az, amikor a kép fehér zaj . Ebben az esetben az SVG nemcsak hogy nem kínál fájlméret-előnyt, de még veszteséget is jelent a bitmap formátumhoz képest. A gyakorlatban az SVG már jóval azelőtt veszteségessé válik, hogy a kép elérné a fehér zaj szintjét.
Egy SVG dokumentum szerkezete
Az első sor egy szabványos XML fejléc, egy deklaráció ( eng. XML deklaráció ), amely jelzi az XML verzióját (verzió) ( általában "1.0" ) és a karakterkódolást (kódolás):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
A második és harmadik sornak tartalmaznia kell a DOCTYPE fejlécet , amely meghatározza a dokumentum típusát ( Dokumentumtípus
- definíciók ) DTD :
<!DOCTYPE svg NYILVÁNOS "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
Sajnos bizonyos esetekben a Mozilla Firefox beépített SVG megjelenítővel történő használatakor a DOCTYPE deklaráció tartalma hibaforrás lehet. Javasoljuk, hogy ne használja a DOCTYPE deklarációt az SVG 1.0-s verziójában. Ehelyett ajánlatos a baseProfile attribútumot a gyökér <svg> elemen szerepeltetni "full" [2] értékkel .
Ha valamilyen oknál fogva DOCTYPE deklaráció szükséges egy dokumentumban, akkor ajánlatos üres deklarációt használni, mint a példában.
<!DOCTYPE svg [
<!-- az Ön adatai --> ]>
A negyedik sor a dokumentum gyökéreleme az SVG
névtérrel .
<svg version= "1.1"
baseProfile= "full"
xmlns= "http://www.w3.org/2000/svg"
xmlns:xlink= "http://www.w3.org/1999/xlink"
xmlns: ev= "http://www.w3.org/2001/xml-events"
width= "100%" height= "100%" >
Ezután következik a dokumentum többi szövege, a gyökérelembe ágyazva, ahol a kódolt jelenet tartalmát leíró elemek ténylegesen találhatók.
A dokumentum mindig a záró gyökércímkével végződik </svg>.
Példák
- Egy egyszerű statikus SVG-dokumentum 400 px -es négyzetkörvonallal és három 104 px-es félig átlátszó körrel a négyzet közepén, mindegyik kör körülbelül fél sugárral el van tolva a négyzet közepétől.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version = "1.1"
baseProfile= "full"
xmlns = "http://www.w3.org/2000/svg "
xmlns:xlink = "http://www.w3.org/1999/xlink"
xmlns:ev = "http://www.w3.org/2001/xml-events"
height = "400px" width = "400px " >
<rect x= "0" y= "0" width= "400" height= "400"
fill= "nincs" stroke= "black" stroke-width= "5px" stroke-opacity= "0,5" />
<g fill-opacity= "0.6" stroke= "black" stroke-width= "0.5px" >
<circle cx= "200px" cy= "200px" r= "104px" fill= "red" transform= "translate( 0,-52)" />
<circle cx= "200px" cy= "200px" r= "104px" fill= "blue" transform= "fordítás( 60, 52)" />
<circle cx= "200px" cy = "200px" r= "104px" fill= "green" transform= "translate(-60, 52)" />
</g>
</svg>
Megjegyzés: Ez a kód ugyanúgy fut a Mozilla Firefox 2.0.0.11 és az Internet Explorer 6.0.2900.2180 (SVG Document Adobe Systems Inc.) böngészőben.
- Egy másik példa egy lekerekített sarkú téglalap, amely kitölti a teljes megjelenítési területet:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg NYILVÁNOS "-//W3C//DTD SVG 1.1//EN"
"http://www.w3. org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version= "1.1"
baseProfile= "full"
xmlns= "http://www.w3.org/2000/svg"
xmlns:xlink= "http ://www.w3.org/1999/xlink"
xmlns:ev= "http://www.w3.org/2001/xml-events"
width= "100%" height= "100%" >
<helyes kitöltés = "fehér" x= "0" y= "0" szélesség = "100%" magasság = "100%" />
<rect fill= "ezüst" x= "0" y= "0" szélesség = "100%" " height= "100%" rx= "1em" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width= "198" height= "188"
viewBox= "0 0 198 188"
version= "1.1"
baseProfile= " full"
xmlns= "http://www.w3.org/2000/svg"
xmlns:xlink= "http://www.w3.org/1999/xlink"
xmlns:ev= "http://www.w3 .org/2001/xml-events" >
<g id= "Oldal-1" stroke= "nincs" stroke-width= "1" fill= "nincs" fill-rule= "páros-páratlan" >
<poligon azonosító= "Csillag-1" stroke= "#979797" stroke-width= "3" fill= "#F8E81C"
pontok = "99 154 40 185 51 119 4 73 69 64 99 3 128 64 194 73 147 < 819
" /polygon>
</g>
</svg>
SVGZ
Mivel az SVG-kód elég sok helyet foglal el, létrejött egy SVGZ "burkoló", ahol az SVG-t gzip -pel tömörítik, és a kapott fájl a ".svgz" kiterjesztést kapja.
Az SVG jól tömörít , mert egy szabályos szerkezetű
XML szöveges dokumentum.
Böngésző támogatás
A szabvány specifikációi
Szoftver
Alkalmazások
Eszközök és könyvtárak
- A Batik egy Java -könyvtár SVG formátumú képek generálására, megjelenítésére és különféle manipulálására, valamint egy ezen a könyvtáron alapuló SVG böngésző - Squiggle [5] .
- A MetaPost egy programozási nyelv, amelyet grafikus illusztrációk készítésére használnak.
- A librsvg egy könyvtár, amelyet a MediaWiki használ az SVG-kkel való együttműködéshez [6] [7] .
- Az SVG Viewer Extension for Windows Explorer a Windows Intéző kiterjesztése , amely lehetővé teszi az SVG-fájlok bélyegképként való megtekintését.
- A Snap egy JavaScript-könyvtár az SVG-vel való munkához.
- SVG.js – Könnyű könyvtár az SVG-grafikák manipulálásához és animálásához, nincs függősége, és célja, hogy a lehető legkisebb legyen.
Jegyzetek
- ↑ Példa egy oldalra, amely lehetővé teszi SVG létrehozását és szerkesztését a böngészőben Archiválva : 2010. május 19. a Wayback Machine -nél (orosz)
- ↑ SVG készítési irányelvek: ne tartalmazzon DOCTYPE nyilatkozatot . Archiválva : 2008. április 14. a Wayback Machine -nél
- ↑ A Windows Internet Explorer platform előzetes verziójának kibocsátási megjegyzései archiválva : 2010. április 19. (Angol)
- ↑ Brockmeier, Joe . Áttekintés: Firefox 1.5 és Thunderbird 1.5 , Linux.com ( 2005. november 30.). Letöltve: 2009. november 30.
- ↑ Squiggle archiválva : 2009. november 7. a Wayback Machine -nél .
- ↑ Kézikönyv: Képkezelés – MediaWiki archiválva : 2008. november 18. a Wayback Machine -nél
- ↑ A MediaWiki alapértelmezett disztribúciója azonban az ImageMagick-kel érkezik, ami hibákat okoz az SVG-ből PNG-be való átalakítás során, például érvénytelen kereteket és nem átlátszó hátteret a létrejövő PNG-fájlban. Kiküszöbölve a következővel: $wgSVGConverter = 'rsvg'.
Linkek
Irodalom
World Wide Web Consortium (W3C) |
---|
Termékek és szabványok | Ajánlások |
|
---|
OOSO |
- IndieAuth
- XADES
- XBL
- +SMIL
- XUP
|
---|
Működő projektek |
|
---|
Útmutatók |
- Webes tartalom hozzáférhetőségi irányelvei
|
---|
Kezdeményezések |
- szolgáltatás
- Initiative
- Webplatform
|
---|
Nyugdíjas _ |
|
---|
Elavult |
|
---|
|
---|
Szervezetek |
| Munkacsoportok |
|
---|
Közösségi és üzleti csoportok |
|
---|
Zárt csoportok |
- Eszközleírás (DDWG
- HTML
- Multimodális interakciós tevékenység (MMI
|
---|
|
---|
TOVÁBB | |
---|
Konferenciák |
|
---|