Flag of Germany.svg als SVG
Der komplette Quelltext:
]]
Scalable Vector Graphics (SVG, deutsch Skalierbare Vektorgrafiken) ist ein Standard zur Beschreibung zweidimensionaler Vektorgrafiken in der XML-Syntax. SVG wurde im September 2001 vom W3C als Empfehlung veröffentlicht und viele aktuelle Webbrowser können von Haus aus einen Großteil des Sprachumfangs darstellen. Der verbreitete Internet Explorer benötigt zur Darstellung jedoch noch ein Plug-In, wie z. B. den SVG-Viewer von Adobe.
SVG unterstützt mittels SMIL Animationen. Manipulationen des SVG-DOM sind mit Hilfe eingebetteter Funktionen via Skriptsprachen möglich.
Da SVG ein XML-Dialekt ist, können SVG-Dateien mit Hilfe eines Texteditors bearbeitet werden. Es gibt jedoch auch spezielle Programme zur Bearbeitung, z. B. die freien Vektorgrafik-Programme Sodipodi und Inkscape. Eine SVG-Datei besitzt entweder die Dateiendung .svg oder, wenn sie mit gzip komprimiert ist, .svgz. Der MIME-Typ ist image/svg+xml.
Aktuell ist die Spezifikation der Version 1.1, seit dem September 2003 vom W3C empfohlen. Die SVG-Version 1.2 ist zur Zeit in Arbeit (Stand 2005) und steht aktuell als Entwurf zur Verfügung.
| Betriebssystem | Browser | Plugin | Grundformen | Animationen | Animationen mit abs. Zeitangabe (Wallclock) | Scripting |
|---|---|---|---|---|---|---|
| Windows | Internet Explorer 6 | nativ | keine | |||
| Adobe SVG-Viewer 3 | vollständig | vollständig | keine | vollständig | ||
| Mozilla 1.7.x/Firefox 1.0.x | nativ | keine | ||||
| Adobe SVG-Viewer 3 | instabil | instabil | keine | instabil | ||
| Firefox 1.5.x | nativ | vollständig | keine | keine | vollständig | |
| SeaMonkey 1.0 | nativ | vollständig | keine | keine | vollständig | |
| Opera 8 | nativ | teilweise | vollständig | keine | vollständig | |
| Opera 9 (Preview 2) | Adobe SVG-Viewer 3 | vollständig | vollständig | keine | vollständig | |
| Linux | Konqueror | KSVG-KPart | vollständig | teilweise | keine | vollständig |
| Mozilla 1.7.x/Firefox 1.0.x | nativ | keine | ||||
| Adobe SVG-Viewer 3 | keine | |||||
| Firefox 1.5.x | nativ | vollständig | keine | keine | vollständig | |
| Opera 8 | nativ | vollständig | vollständig | keine | vollständig | |
| Mac OS X | Safari 2.0 | nativ WebKit * | vollständig | keine | keine | vollständig |
| Safari 1.3 | nativ | keine | ||||
| Adobe SVG-Viewer 3 | vollständig | vollständig | keine | vollständig | ||
| Firefox 1.5.x, Camino 1.0 | nativ * | vollständig | keine | keine | vollständig | |
| Mozilla 1.7.x/Firefox 1.0.x, Camino 0.x | nativ | keine | ||||
| Adobe SVG-Viewer 3 | instabil | instabil | keine | instabil | ||
Darüber hinaus existiert eine Betaversion des Adobe SVG-Viewers in der Version 6 (Preview 1, mit Datum Juli 2003), die eine verbesserte Unterstützung der Standards und Verbesserungen bei der Integration in Mozilla Firefox beinhaltet. Das Projekt scheint jedoch seit Sommer 2003 zu ruhen.
Die derzeitige Version des Adobe SVG-Viewers 3 steht hier zum Download bereit.
Die nächste SVG Open findet vom 16.-19. Oktober 2006 in Victoria (Kanada) statt.
Jede SVG-Datei beginnt, wie bei XML-basierten Sprachen üblich, mit der XML-Deklaration und der Dokumenttypdeklaration, die den benutzten Namensraum beschreibt. Dazu wird bei Letzterem ein Verweis auf die entsprechende DTD-Datei eingefügt. Darauf folgt das Start-Tag „<svg>“. Die SVG-Datei wird durch das abschließende End-Tag „</svg>“ abgeschlossen.
Mit den Attributen "width" (engl.: Breite) und "height" (engl.: Höhe) des SVG-Starttags "<svg>" wird die Größe der Grafik definiert.
Hallo Welt!
Zeitangaben können von Millisekunden bis Stunden angegeben und verschieden ausgezeichnet werden. Für die meisten Animationstags wird ein Pflichtattribut benötigt, das die Art der Animation festlegt. Weitere grundlegende Komponenten sind, wie schon erwähnt, der Zeitrahmen, Zustände während der Animation (optional), der Zustand nach der Animation, und ob eine Wiederholung gestartet werden soll.
Die Eigenschaften eines Darstellers sind in SVG durch folgende Attribute festgehalten.
Für die Zeitangabe werden logische Begriffe wie begin (engl.: Start, Beginn) end (engl.: Ende) und dur (engl. „duration“: Dauer) verwendet. Start, Wiederholungen etc. können auch von Ereignissen wie Mausberührung oder -klick abhängig gemacht werden.
Quellcode der Pfadanimation:
Quellcode des Play-Buttons:
Einige der möglichen Filter:
Quellcode des Filters für den Himmel:
Der Quellcode mit implementiertem JavaScript-Code
Hier wurde eine Funktion definiert, welche die DOM-Struktur der SVG-Datei hierarchisch durchläuft. Als erstes wird das Dokument aufgerufen. Die Funktion getElementById() ruft nun das Rechteck auf, das den Namen „jack“ trägt. Sobald die Funktion das Element „jack“ gefunden hat, wird darauf zugegriffen und dessen Attribute können verändert werden. In dieser Funktion wird das Attribut width mit der Funktion getAttribute() angesteuert und im weiteren mit einer relativ eindeutigen Formel verändert. Nach dem Definitionsbereich ist das Rechteck mit der ID jack aufgeführt; im selben Tag wird der Eventhandler onclick mit der Funktion wachsen(evt) auf das Rechteck definiert.
Im Gegensatz zu vielen anderen Grafikformaten (z. B. Bitmaps) sind SVG-Koordinaten Zahlen vom Typ Gleitkomma und nicht vom Typ Integer. Bei Medien mit Pixeln, beispielsweise einem Monitor, bezeichnet eine SVG-Angabe wie x = 100 y = 200 nicht den ganzen Bildschirmpixel, sondern die Grenze zwischen den Pixeln. Daher bedeutet z. B. eine Angabe von viewBox="0 0 800 600" im öffnenden SVG-Tag eine mathem. Breite von 800 Einheiten. Bei Pixelgrafiken wäre dies eine mathem. Breite von 801 Einheiten, da die Spalten 0 und 800 mitgezählt würden. Bei dünnen Linien ist hier in SVG besondere Vorsicht geboten. Eine Angabe
erzeugt, bei einer Skalierung von 1 : 1 im SVG-Tag, auf dem Monitor nicht etwa eine schwarze horiz. Linie von 1 Pixel Breite auf der Pixelzeile 300, sondern eine dunkelgraue Linie mit 2 Pixel Breite auf den Pixelzeilen 299 und 300, weil die Linie genau auf dem Rand zwischen den beiden Zeilen liegt. Erst eine Angabe von
führt zum gewünschten Ergebnis.
Computergrafik | Datenformat | Beschreibungssprachen | XML
Scalable Vector Graphics | SVG | Scalable Vector Graphics | SVG | SVG | Scalable Vector Graphics | Scalable Vector Graphics | Scalable Vector Graphics | گرافیک برداری مقیاسپذیر | SVG | Scalable Vector Graphics | SVG | SVG | Scalable Vector Graphics | Scalable Vector Graphics | SVG | SVG | Scalable Vector Graphics | SVG | SVG | SVG | Scalable Vector Graphics | SVG | Scalable Vector Graphics | Scalable Vector Graphics | SVG | SVG | SVG | SVG
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Scalable Vector Graphics".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world