SVG
Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 21. tammikuuta 2019 tarkistetusta
versiosta . tarkastukset vaativat
25 muokkausta .
SVG ( englannin kielestä S calable Vector G raphics - scalable vector graphics ) on skaalautuva vektorigrafiikkakuvauskieli, jonka on luonut World Wide Web Consortium (W3C) ja joka sisältyy laajennettavan merkintäkielen XML -alajoukkoon, joka on suunniteltu kuvaamaan kaksiulotteisia vektori- ja sekoitettu vektori-/ rasterigrafiikka XML-muodossa. Tukee sekä still- että animoitua interaktiivista grafiikkaa - tai toisin sanoen deklaratiivista ja käsikirjoitettua. Ei tue kuvauksia kolmiulotteisista kohteista (ei pidä sekoittaa chiaroscuron kolmiulotteisuuden simulaatioon). Se on avoin standardi, jota suosittelee W3C, HTML- ja XHTML -standardien taustalla oleva organisaatio . SVG perustuu VML- ja PGML -kuvauskieliin . Kehitetty vuodesta 1999 lähtien. Vuonna 2001 julkaistiin versio 1.0, vuonna 2011 - versio 1.1, joka on edelleen ajankohtainen. Versio 2 on parhaillaan kehitteillä.
Kieliominaisuudet
- Polkujen kuvaus ( englanniksi polku ). Voit määrittää minkä tahansa luvun tiiviissä merkkijonossa, joka kuvaa polun aloituspisteestä loppupisteeseen minkä tahansa välikoordinaatin kautta. Datamerkkijono määritellään dtag -attribuutilla pathja sisältää komentoja, jotka on koodattu joukolla kirjaimia ja numeroita. Kirjain määrittää komennon tyypin, numerot - sen parametrit (useimmiten - koordinaatit). Komentojen avulla voit kuvata muotoja, jotka koostuvat viivaosista ( L, H, V), Bezier-käyristä ( C, S, Q, T) ja kaarista ( A). Esimerkki, joka kuvaa 5-rivistä tähteä, sisältää datamerkkijonon, jossa on komennot M( eng. moveto - move to) ja L( eng. lineto - piirrä viiva), jotka sisältävät argumentteina X:n ja Y:n pisteiden koordinaatit. SVG-versioissa ylös 1.2-kuvauspolut ovat mahdollisia vain pikseleinä.
<polun täyttö= "ei mitään"
viiva = "musta" d= "M 228 238 L 328 90 L 346 250 L 201 124 L 410 150 L 228 238" />
- Geometristen perusmuotojen kuvaus (monikulmiot, suorakulmiot, ympyrät jne.).
- Laaja valikoima visuaalisia ominaisuuksia, joita voidaan soveltaa muotoihin ja polkuihin: väritys, läpinäkyvyys, pyöristetyt kulmat jne.
- Interaktiivisuus . Jokaiseen yksittäiseen elementtiin ja koko kuvaan voidaan ripustaa tapahtumakäsittelijä (napsautus, siirto, näppäinpainallus jne.), jolloin käyttäjä voi ohjata kuvaa (esimerkiksi siirtää joitakin elementtejä hiirellä [1] ).
- Animaatio ja käsikirjoitukset. ECMAScriptin tai JavaScriptin avulla voit kuvata monimutkaisimmatkin skenaariot, jotka liittyvät muotojen koordinaattien ja mittasuhteiden matemaattisiin laskelmiin. Yhdessä interaktiivisuuden ja SMIL -animaatioiden kanssa tämä antaa erittäin laajan valikoiman mahdollisuuksia verkkografiikan kehittäjille.
Edut
- Tekstimuoto - SVG-tiedostoja voidaan lukea ja muokata (joillakin taidoilla) yleisillä tekstieditoreilla . Kun tarkastelet SVG-grafiikkaa sisältäviä asiakirjoja, voit tarkastella tarkasteltavan tiedoston koodia ja tallentaa koko asiakirjan. Lisäksi SVG-tiedostot ovat yleensä pienempiä kuin vastaavat JPEG- tai GIF -kuvat ja pakataan hyvin.
- Skaalautuva - SVG on vektorimuoto . On mahdollista suurentaa mitä tahansa osaa SVG-kuvasta laadun heikkenemättä. Lisäksi on mahdollista käyttää suodattimia SVG-dokumentin elementteihin - erityisiä modifikaatioita, joilla luodaan samanlaisia tehosteita kuin bittikarttakuvien käsittelyssä (sumentaminen, pursotus, monimutkaiset muunnosjärjestelmät jne.). SVG-koodin tekstissä suodattimet kuvataan tunnisteilla, jotka katsoja renderöi, mikä ei vaikuta lähdetiedoston kokoon, mutta tarjoaa tarvittavan havainnollisen ilmaisukyvyn.
- Bittikarttagrafiikan käyttö SVG-dokumenteissa on laajalti saatavilla. Voit lisätä elementtejä, joissa on PNG-, GIF- tai JPG-kuvia.
- SVG-grafiikan teksti on tekstiä, ei kuvaa, joten se voidaan valita ja kopioida, hakukoneet indeksoivat sen, eikä hakuroboteille tarvitse luoda ylimääräisiä metatiedostoja .
- Animaatio on toteutettu SVG:ssä käyttämällä SMIL - kieltä (Synchronized Multimedia Integration Language), jota myös W3C-konsortio on kehittänyt. ECMAScript -määritykseen perustuvia komentosarjakieliä tuetaan . SVG - elementtejä voidaan käsitellä JavaScriptillä . Skriptien ja animaatioiden käyttö SVG:ssä mahdollistaa dynaamisen ja interaktiivisen grafiikan luomisen. SVG:ssä tarjotaan tapahtumamalli, tapahtumia seurataan ( sivun lataus, sen parametrien muuttaminen, hiiri, näppäimistötapahtumat jne. ). Animaation voi laukaista tietty tapahtuma (esimerkiksi "onmouseover" tai "onclick" ), mikä tekee grafiikasta vuorovaikutteisen. Jokaisella elementillä on omat tapahtumansa, joihin voidaan liittää yksittäisiä skriptejä.
- SVG on avoin standardi. Toisin kuin jotkin muut tiedostomuodot, SVG ei ole patentoitu.
- SVG-asiakirjat on helppo integroida HTML- ja XHTML-dokumentteihin. Ulkoiset SVG:t yhdistetään <object>-tunnisteen kautta , data-attribuutin arvo on SVG-merkinnän sisältävän tiedoston nimi, jonka pääte on ".svg" ja jossa on MIME-tyyppinen image/svg+xml. Leveys- ja korkeusmääritteet määrittävät SVG-alueen vaaka- ja pystymitat. SVG-elementit ovat yhteensopivia HTML:n ja DHTML:n kanssa.
- Yhteensopivuus CSS :n kanssa ( Englannin Cascading Style Sheets ). SVG-elementtien näyttöä (muotoilua ja koristelua) voidaan ohjata CSS 2.0 -tyylitaulukon ja sen laajennuksien kautta tai suoraan SVG-elementtiattribuuttien kautta.
- SVG tarjoaa kaikki XML : n edut :
- Kykyä työskennellä erilaisissa ympäristöissä.
- Kansainvälistyminen (tuki Unicodelle ).
- Laaja saatavuus erilaisiin sovelluksiin.
- Helppo muokata standardisovellusliittymien , kuten DOM :n, kautta . SVG tukee standardoitua W3C-dokumenttiobjektimallia DOM, joka tarjoaa pääsyn mihin tahansa elementtiin, mikä antaa runsaasti mahdollisuuksia muuttaa elementtejä, niiden ominaisuuksia ja tapahtumia dynaamisesti.
- Helppo muuntaminen XSLT-tyylitaulukoilla . Kuten mikä tahansa XML-pohjainen muoto, SVG mahdollistaa muunnostaulukoiden (XSLT) käsittelyn sen käsittelemiseen. Muuntamalla XML-tiedot SVG:ksi yksinkertaisella XSL :llä voit helposti saada graafisen esityksen mistä tahansa tiedosta, esimerkiksi visualisoida CML :ssä kuvatut kemialliset molekyylit .
Muodin haitat
- 3D-grafiikkaa ei tueta ollenkaan
- SVG perii kaikki XML :n haitat , kuten suuren tiedostokoon (jälkimmäisen kuitenkin kompensoi pakatun SVGZ- muodon olemassaolo , mutta sen käyttö on tällä hetkellä vaikeaa, koska SVGZ:llä ei ole omaa MIME-tyyppiä ).
- Vaikea käyttää suurissa kartoitussovelluksissa, koska asiakirja on luettava kokonaisuudessaan, jotta pieni osa kuvasta näkyy oikein.
- Mitä enemmän hienoja yksityiskohtia kuvassa on, sitä nopeammin SVG-tietojen koko kasvaa. Äärimmäinen tapaus on, kun kuvassa on valkoista kohinaa . Tässä tapauksessa SVG ei vain tarjoa tiedostokokoetua, vaan jopa menetyksen verrattuna bittikarttamuotoon. Käytännössä SVG:stä tulee kannattamaton kauan ennen kuin kuva saavuttaa valkoisen kohinan tason.
SVG-dokumentin rakenne
Ensimmäinen rivi on tavallinen XML-otsikko, ilmoitus ( eng. XML-ilmoitus ), joka osoittaa XML-version (version) ( yleensä "1.0" ) ja merkkikoodauksen (koodaus):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Toisella ja kolmannella rivillä tulee olla DOCTYPE -otsikko , joka määrittää asiakirjan tyypin ( Dokumenttityypin
määritelmät ) DTD :
<!DOCTYPE svg JULKINEN "-//W3C//DTD SVG 1.1//FI"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
Valitettavasti joissakin tapauksissa, kun käytät Mozilla Firefoxia sisäänrakennetun SVG-katseluohjelman kanssa, DOCTYPE-ilmoituksen sisältö voi aiheuttaa virheitä. On suositeltavaa olla käyttämättä DOCTYPE-ilmoitusta SVG-versioissa 1.0. Sen sijaan on suositeltavaa sisällyttää baseProfile- attribuutti juurielementtiin <svg> arvolla "full" [2] .
Jos jostain syystä dokumenttiin vaaditaan DOCTYPE-ilmoitus, on suositeltavaa käyttää tyhjää ilmoitusta, kuten esimerkissä.
<!DOCTYPE svg [
<!-- tietosi --> ]>
Neljäs rivi on SVG
- nimiavaruuden sisältävän asiakirjan juurielementti .
<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%" >
Seuraavaksi tulee loput dokumentin tekstistä, joka on sisäkkäinen juurielementissä, jossa koodatun kohtauksen sisältöä kuvaavat elementit todella sijaitsevat.
Dokumentti päättyy aina sulkevaan juuritunnisteeseen </svg>.
Esimerkkejä
- Yksinkertainen staattinen SVG-dokumentti, jossa on 400 pikselin neliöääriviiva ja kolme 104 px puoliläpinäkyvää ympyrää neliön keskellä, jokainen ympyrä siirtynyt neliön keskustasta noin puolen säteen verran.
<?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" " >
<rekt x= "0" y= "0" leveys= "400" korkeus= "400"
fill= "ei mitään" viiva= "musta" viivan leveys= "5px" viivan läpinäkymättömyys = "0,5" />
<g fill-opacity= "0.6" stroke= "black" stroke-width= "0.5px" >
<circle cx= "200px" cy= "200px" r= "104px" fill= "red" transform= "käännä( 0,-52)" />
<circle cx= "200px" cy= "200px" r= "104px" fill= "blue" transform= "käännä(60,52)" />
<circle cx= "200px" cy = "200px" r= "104px" fill= "green" transform= "käännä(-60, 52)" />
</g>
</svg>
Huomautus: Tämä koodi toimii samalla tavalla Mozilla Firefox 2.0.0.11:ssä ja Internet Explorerissa 6.0.2900.2180 (SVG Document Adobe Systems Inc.)
- Toinen esimerkki on suorakulmio, jossa on pyöristetyt kulmat ja joka täyttää koko näyttöalueen:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg JULKINEN "-//W3C//DTD SVG 1.1//FI"
"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%" >
<oikea täyttö = "valkoinen" x= "0" y= "0" leveys = "100%" korkeus = "100%" />
<suora täyttö= "hopea" x= "0" y= "0" leveys= "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= "Sivu-1" stroke= "ei mitään" viiva-leveys= "1" fill= "ei mitään" fill-rule= "parillinen" >
<polygonin tunnus= "Tähti-1" veto = "# 979797 " viivan leveys= "3" täyttö= "#F8E81C"
pisteet = "99 154 40 185 51 119 4 73 69 64 99 3 128 64 194 73 147 8 < 119 "
/polygon>
</g>
</svg>
SVGZ
Koska SVG-koodi vie melko paljon tilaa, luotiin SVGZ "kääre", jossa SVG pakataan gzip :llä ja tuloksena olevalle tiedostolle annetaan tunniste ".svgz".
SVG pakkaa hyvin, koska se on XML - tekstiasiakirja , jolla on tavallinen rakenne.
Selaimen tuki
Standardin tekniset tiedot
Ohjelmisto
Sovellukset
Työkalut ja kirjastot
- Batik on Java -kirjasto SVG-muotoisten kuvien luomiseen, hahmontamiseen ja erilaisiin käsittelyihin ja tähän kirjastoon perustuva SVG-selain - Squiggle [5] .
- MetaPost on ohjelmointikieli, jota käytetään graafisten kuvien luomiseen.
- librsvg on kirjasto, jota MediaWiki käyttää SVG-tiedostojen kanssa työskentelyyn [6] [7] .
- SVG Viewer Extension for Windows Explorer on Windowsin Resurssienhallinnan laajennus, jonka avulla voit tarkastella siinä olevia SVG-tiedostoja pikkukuvina.
- Snap on JavaScript-kirjasto SVG:n kanssa työskentelemiseen.
- SVG.js - Kevyt kirjasto SVG-grafiikan manipulointiin ja animointiin, ei riippuvuuksia ja pyrkii olemaan mahdollisimman pieni.
Muistiinpanot
- ↑ Esimerkki sivusta, jolla voit luoda ja muokata SVG:tä selaimessa . Arkistoitu 19. toukokuuta 2010 Wayback Machinessa (venäjäksi)
- ↑ SVG-kirjoitusohjeet: Älä sisällytä DOCTYPE-ilmoitusta . Arkistoitu 14. huhtikuuta 2008 Wayback Machinessa
- ↑ Windows Internet Explorerin alustan esikatselun julkaisutiedot arkistoitu 19. huhtikuuta 2010. (Englanti)
- ↑ Brockmeier, Joe . Tarkastus: Firefox 1.5 ja Thunderbird 1.5 , Linux.com ( 30. marraskuuta 2005). Haettu 30. marraskuuta 2009.
- ↑ Squiggle arkistoitu 7. marraskuuta 2009 Wayback Machinessa .
- ↑ Manual:Image Administration - MediaWiki arkistoitu 18. marraskuuta 2008 Wayback Machinessa
- ↑ MediaWikin oletusjakelun mukana tulee kuitenkin ImageMagick, joka aiheuttaa virheitä SVG:stä PNG-muunnokseen, kuten virheellisiä reunuksia ja läpinäkyvää taustaa ei tuloksena olevassa PNG-tiedostossa. Eliminoitu $wgSVGConverter = 'rsvg'.
Linkit
Kirjallisuus
World Wide Web Consortium (W3C) |
---|
Tuotteet ja standardit | Suositukset |
|
---|
OOSO |
- IndieAuth_
- XADES
- XBL
- +SMIL
- XUP
|
---|
Työprojektit |
|
---|
Oppaat |
- Verkkosisällön esteettömyysohjeet
|
---|
Aloitteet |
- Merkintöjen
- Initiative
- Verkkoympäristö
|
---|
eläkkeellä_ _ |
|
---|
Vanhentunut |
|
---|
|
---|
Organisaatiot |
| Työryhmät |
|
---|
yhteisöt ja yritysryhmät |
|
---|
Suljetut ryhmät |
- Laitteen kuvaus (DDWG
- HTML
- Multimodaalinen vuorovaikutustoiminta (MMI
|
---|
|
---|
PÄÄLLÄ | |
---|
Konferenssit |
|
---|