Skalierbare Vektorgrafiken - Scalable Vector Graphics

Skalierbare Vektorgrafiken
SVG-Logo.svg
Internet-Medientyp image/svg+xml
Uniform Type Identifier (UTI) public.svg-image
Entwickelt von W3C
Erstveröffentlichung 4. September 2001 (vor 20 Jahren) ( 2001-09-04 )
Neueste Erscheinung
1.1 (Zweite Ausgabe)
(16. August 2011 ; vor 10 Jahren ) ( 2011-08-16 )
Formattyp Vektorgrafiken
Verlängert von XML
Standard W3C SVG
Offenes Format ? Jawohl
Webseite www .w3 .org /Grafik /SVG /

Scalable Vector Graphics ( SVG ) ist ein ( XML )-basiertes Vektorbildformat für zweidimensionale Grafiken mit Unterstützung für Interaktivität und Animation. Die SVG-Spezifikation ist ein offener Standard , der seit 1999 vom World Wide Web Consortium (W3C) entwickelt wurde.

SVG-Bilder und ihr Verhalten werden in XML-Textdateien definiert. Das bedeutet, dass sie durchsucht , indiziert , geskriptet und komprimiert werden können und ohne Qualitätsverlust in der Größe skaliert werden können . Als XML-Dateien können SVG-Bilder mit jedem Texteditor sowie mit Zeichensoftware erstellt und bearbeitet werden . Die am häufigsten verwendeten Webbrowser rendern SVG-Dateien .

Überblick

Dieses Bild veranschaulicht den Unterschied zwischen Bitmap- und Vektorbildern. Das Bitmap-Bild besteht aus einem festen Satz von Pixeln, während das Vektorbild aus einem festen Satz von Formen besteht. Im Bild werden beim Skalieren der Bitmap die Pixel sichtbar, während beim Skalieren des Vektorbilds die Formen erhalten bleiben.

SVG wird innerhalb des World Wide Web Consortium (W3C) seit 1999 entwickelt, nachdem dem Konsortium 1998 sechs konkurrierende Vorschläge für Vektorgrafiksprachen vorgelegt worden waren eine neue Auszeichnungssprache, die von einer von ihnen geprägt, aber nicht wirklich darauf basiert.

SVG erlaubt drei Arten von Grafikobjekten: Vektorgrafikformen wie Pfade und Umrisse, die aus geraden Linien und Kurven bestehen, Bitmap- Bildern und Text. Grafische Objekte können gruppiert, gestylt, transformiert und zu zuvor gerenderten Objekten zusammengesetzt werden. Der Funktionsumfang umfasst verschachtelte Transformationen , Beschneidungspfade , Alphamasken , Filtereffekte und Vorlagenobjekte. SVG-Zeichnungen können interaktiv sein und Animationen enthalten , die in den SVG-XML-Elementen definiert sind oder über Skripte , die auf das SVG- Dokumentobjektmodell (DOM) zugreifen . SVG verwendet CSS für das Styling und JavaScript für die Skripterstellung. Text, einschließlich Internationalisierung und Lokalisierung , der im SVG-DOM im Klartext erscheint, verbessert die Zugänglichkeit von SVG-Grafiken.

Die SVG-Spezifikation wurde 2011 auf Version 1.1 aktualisiert. Es gibt zwei "Mobile SVG-Profile", SVG Tiny und SVG Basic, die für mobile Geräte mit reduzierten Rechen- und Anzeigefähigkeiten gedacht sind . Scalable Vector Graphics 2 wurde am 15. September 2016 eine W3C-Kandidatenempfehlung . SVG 2 enthält neben SVG 1.1 und SVG Tiny 1.2 mehrere neue Funktionen.

Drucken

Obwohl sich die SVG-Spezifikation hauptsächlich auf die Auszeichnungssprache für Vektorgrafiken konzentriert , umfasst ihr Design die grundlegenden Fähigkeiten einer Seitenbeschreibungssprache wie Adobes PDF . Es enthält Vorkehrungen für reichhaltige Grafiken und ist für Stylingzwecke mit CSS kompatibel . SVG enthält die erforderlichen Informationen, um jede Glyphe und jedes Bild an einer ausgewählten Stelle auf einer gedruckten Seite zu platzieren.

Scripting und Animation

SVG-Zeichnungen können dynamisch und interaktiv sein. Zeitbasierte Änderungen an den Elementen können in SMIL beschrieben oder in einer Skriptsprache (zB JavaScript ) programmiert werden . Das W3C empfiehlt ausdrücklich SMIL als Standard für Animationen in SVG.

Jedem grafischen SVG-Objekt kann ein reichhaltiger Satz von Ereignishandlern wie " onmouseover" und " onclick" zugewiesen werden, um Aktionen und Ereignisse anzuwenden.

Kompression

SVG-Bilder, da es sich um XML handelt, enthalten viele wiederholte Textfragmente, sodass sie sich gut für verlustfreie Datenkomprimierungsalgorithmen eignen . Wenn ein SVG-Bild mit dem gzip- Algorithmus komprimiert wurde , wird es als "SVGZ"-Bild bezeichnet und verwendet die entsprechende .svgzDateinamenerweiterung. Konforme SVG 1.1-Viewer zeigen komprimierte Bilder an. Eine SVGZ-Datei hat normalerweise 20 bis 50 Prozent der Originalgröße. W3C stellt SVGZ-Dateien zum Testen der Konformität bereit.

Entwicklungsgeschichte

SVG wurde von der W3C SVG Working Group ab 1998 entwickelt, nachdem in diesem Jahr sechs konkurrierende Vektorgrafiken eingegangen waren:

Den Vorsitz der Arbeitsgruppe hatte damals Chris Lilley vom W3C.

Version 1.x

  • SVG 1.0 wurde am 4. September 2001 eine W3C-Empfehlung .
  • SVG 1.1 wurde am 14. Januar 2003 eine W3C-Empfehlung. Die SVG 1.1-Spezifikation ist modularisiert, damit Teilmengen als Profile definiert werden können. Abgesehen davon gibt es nur sehr wenige Unterschiede zwischen SVG 1.1 und SVG 1.0.
    • SVG Tiny und SVG Basic (die mobilen SVG-Profile) wurden am 14. Januar 2003 W3C-Empfehlungen. Diese werden als Profile von SVG 1.1 bezeichnet.
  • SVG Tiny 1.2 wurde am 22. Dezember 2008 eine W3C-Empfehlung. Es wurde ursprünglich als Profil des geplanten SVG Full 1.2 (das inzwischen zu Gunsten von SVG 2 verworfen wurde) entworfen, aber später als eigenständige Spezifikation umgestaltet. Es wird im Allgemeinen schlecht unterstützt.
  • SVG 1.1 Second Edition, die alle Errata und Klarstellungen enthält, aber keine neuen Funktionen zum ursprünglichen SVG 1.1 wurde am 16. August 2011 veröffentlicht.
  • SVG Tiny 1.2 Portable/Secure, eine sicherere Teilmenge des SVG Tiny 1.2-Profils, das am 29. Juli 2020 als IETF-Standardentwurf eingeführt wurde. Auch bekannt als SVG Tiny P/S. SVG Tiny 1.2 Portable/Secure ist eine Anforderung des BIMI- Standardentwurfs.

Version 2

SVG 2 entfernt einige Funktionen von SVG 1.1 oder setzt sie ab und integriert neue Funktionen aus HTML5 und Web Open Font Format :

  • SVG 2 entfernt beispielsweise mehrere Schriftelemente wie glyphund altGlyph(ersetzt durch das WOFF-Schriftformat).
  • Das xml:spaceAttribut ist zugunsten von CSS veraltet.
  • HTML5-Funktionen wie translateund data-*-Attribute wurden hinzugefügt.
  • Textverarbeitungsfunktionen von SVG Tiny 1.2 sind als enthalten gekennzeichnet, aber noch nicht im Text formalisiert. Einige andere 1.2-Features sind in die Rosinen gepickt, aber SVG 2 ist keine Obermenge von SVG tiny 1.2 im Allgemeinen.

SVG 2 erreichte am 15. September 2016 das Stadium der Kandidatenempfehlung, überarbeitete Versionen wurden am 7. August 2018 und am 4. Oktober 2018 veröffentlicht. Der neueste Entwurf wurde am 8. Juni 2021 veröffentlicht.

Mobile Profile

Aufgrund der Nachfrage der Branche wurden mit SVG 1.1 zwei mobile Profile eingeführt: SVG Tiny (SVGT) und SVG Basic (SVGB).

Dies sind Teilmengen des vollständigen SVG-Standards, die hauptsächlich für Benutzeragenten mit eingeschränkten Fähigkeiten gedacht sind . Insbesondere wurde SVG Tiny für stark eingeschränkte mobile Geräte wie Mobiltelefone definiert ; es unterstützt weder Styling noch Skripte. SVG Basic wurde für übergeordnete mobile Geräte wie Smartphones definiert .

Im Jahr 2003 hat die 3GPP , eine internationale Gruppe für Telekommunikationsstandards, SVG Tiny als obligatorisches Vektorgrafik-Medienformat für Telefone der nächsten Generation eingeführt. SVGT ist das erforderliche Vektorgrafikformat und die Unterstützung von SVGB ist optional für Multimedia Messaging Service (MMS) und Packet-Switched Streaming Service. Es wurde später als erforderliches Format für Vektorgrafiken im 3GPP IP Multimedia Subsystem (IMS) hinzugefügt .

Unterschiede zu nicht-mobilem SVG

Keines der mobilen Profile bietet Unterstützung für das vollständige Document Object Model (DOM), während nur SVG Basic optionale Unterstützung für die Skripterstellung bietet mobile Profile.

SVGT 1.2 fügt ein microDOM (μDOM), Styling und Skripting hinzu.

Verwandte Arbeiten

Der MPEG-4 Part 20- Standard – Lightweight Application Scene Representation (LASeR) und Simple Aggregation Format (SAF) basiert auf SVG Tiny. Es wurde von MPEG ( ISO/IEC JTC1 /SC29/WG11) entwickelt und als ISO/IEC 14496-20:2006 veröffentlicht. Die SVG-Fähigkeiten werden in MPEG-4 Part 20 um wichtige Funktionen für mobile Dienste erweitert, wie dynamische Updates, Binärcodierung und moderne Schriftdarstellung. SVG wurde auch in MPEG-4 Part 11 im Extensible MPEG-4 Textual (XMT)-Format untergebracht – einer textuellen Darstellung des MPEG-4-Multimedia-Inhalts unter Verwendung von XML .

Funktionalität

Die SVG 1.1-Spezifikation definiert 14 Funktionsbereiche oder Feature-Sets:

Wege
Einfache oder zusammengesetzte Formkonturen werden mit geschwungenen oder geraden Linien gezeichnet, die ausgefüllt, umrissen oder als Beschneidungspfad verwendet werden können . Pfade haben eine kompakte Codierung.
Beispielsweise steht M(für "bewegen nach") den anfänglichen numerischen x- und y- Koordinaten und L(für "Linie nach") einem Punkt, zu dem eine Linie gezeichnet werden soll, voran. Weitere Befehlsbuchstaben ( C, S, Q, T, und A) stehen vor Daten, die zum Zeichnen verschiedener Bézier- und elliptischer Kurven verwendet werden. Zwird verwendet, um einen Pfad zu schließen.
In allen Fällen folgen absolute Koordinaten Großbuchstabenbefehlen und relative Koordinaten werden nach den entsprechenden Kleinbuchstaben verwendet.
Grundformen
Geradlinige Pfade und Pfade, die aus einer Reihe verbundener gerader Liniensegmente (Polylinien) bestehen, sowie geschlossene Polygone, Kreise und Ellipsen können gezeichnet werden. Rechtecke und eckige Rechtecke sind ebenfalls Standardelemente.
Text
Unicode-Zeichentext, der in einer SVG-Datei enthalten ist, wird als XML- Zeichendaten ausgedrückt . Viele visuelle Effekte sind möglich, und die SVG-Spezifikation verarbeitet automatisch bidirektionalen Text (zum Beispiel zum Verfassen einer Kombination aus englischem und arabischem Text), vertikalen Text (wie in der Vergangenheit Chinesisch geschrieben wurde) und Zeichen entlang eines gekrümmten Pfads (wie der Text um der Rand des Großen Siegels der Vereinigten Staaten ).
Gemälde
SVG-Formen können gefüllt und umrandet (mit einer Farbe, einem Farbverlauf oder einem Muster gemalt) werden. Füllungen können undurchsichtig sein oder einen beliebigen Grad an Transparenz aufweisen.
"Marker" sind Linienend-Features wie Pfeilspitzen oder Symbole, die an den Scheitelpunkten eines Polygons erscheinen können.
Farbe
Farben können auf alle sichtbaren SVG-Elemente entweder direkt oder über fill, stroke, und andere Eigenschaften angewendet werden. Farben werden wie in CSS2 angegeben , dh mit Namen wie blackoder blue, hexadezimal wie #2f0oder #22ff00, dezimal wie rgb(255,255,127)oder als Prozentsätze der Form rgb(100%,100%,50%).
Farbverläufe und Muster
SVG-Formen können wie oben mit Volltonfarben gefüllt oder umrandet werden, oder mit Farbverläufen oder mit sich wiederholenden Mustern. Farbverläufe können linear oder radial (kreisförmig) sein und können eine beliebige Anzahl von Farben sowie Wiederholungen umfassen. Auch Deckkraftgradienten können angegeben werden. Muster basieren auf vordefinierten Raster- oder Vektorgrafikobjekten, die in xund yRichtungen wiederholt werden können . Verläufe und Muster können animiert und gescriptet werden.
Seit 2008 ist es diskutiert unter dem professionellen Anwender von SVG , dass entweder Gradienten Maschen oder vorzugsweise Diffusionskurven nutzbringend auf die SVG - Spezifikation hinzugefügt werden könnten. Es wird gesagt, dass eine "einfache Darstellung [mit Hilfe von Diffusionskurven] sogar sehr subtile Schattierungseffekte darstellen kann" und dass "Diffusionskurvenbilder sowohl in der Qualität als auch in der Kodierungseffizienz mit Verlaufsgittern vergleichbar sind, aber einfacher zu erstellen sind (gemäß mehreren Künstler, die beide Tools verwendet haben) und können vollautomatisch aus Bitmaps erfasst werden." Der aktuelle Entwurf von SVG 2 enthält Verlaufsgitter.
Clipping, Maskierung und Compositing
Grafische Elemente, einschließlich Text, Pfade, Grundformen und Kombinationen davon, können als Umrisse verwendet werden, um sowohl Innen- als auch Außenbereiche zu definieren , die unabhängig voneinander (mit Farben, Verläufen und Mustern) bemalt werden können. Undurchsichtig Beschneidungspfade und halbtransparenten Masken sind Verbundteilchen zusammen die Farbe und die Opazität von jedem Pixel des endgültigen Bildes zu berechnen, unter Verwendung von Alpha - Blending.
Filtereffekte
Ein Filtereffekt besteht aus einer Reihe von Grafikoperationen, die auf eine bestimmte Quellvektorgrafik angewendet werden, um ein modifiziertes Bitmap- Ergebnis zu erzeugen .
Interaktivität
SVG-Bilder können auf viele Arten mit Benutzern interagieren. Zusätzlich zu Hyperlinks , wie unten erwähnt, kann jeder Teil einer SVG - Datei vorgenommen Benutzeroberfläche empfänglich Ereignisse wie zum Beispiel Änderungen in Fokus , Mausklicks, rollend oder das Bild und den anderen Zeiger, Tastatur und Dokumentereignisse Zoomen. Ereignishandler können Animationen starten, stoppen oder ändern sowie Skripte als Reaktion auf solche Ereignisse auslösen.
Verknüpfung
SVG-Bilder können mithilfe von XLink Hyperlinks zu anderen Dokumenten enthalten . Durch die Verwendung des <view>Elements oder eines Fragmentbezeichners können URLs auf SVG-Dateien verweisen, die den sichtbaren Bereich des Dokuments ändern. Auf diese Weise können bestimmte Ansichtszustände erstellt werden, die zum Vergrößern/Verkleinern eines bestimmten Bereichs oder zum Einschränken der Ansicht auf ein bestimmtes Element verwendet werden. Dies ist beim Erstellen von Sprites hilfreich . Die XLink- Unterstützung in Kombination mit dem <use>Element ermöglicht auch die Verknüpfung mit und die Wiederverwendung interner und externer Elemente. Dies ermöglicht es Programmierern, mit weniger Markup mehr zu erreichen, und sorgt für einen saubereren Code.
Skripting
Auf alle Aspekte eines SVG-Dokuments kann ähnlich wie bei HTML mit Skripten zugegriffen und diese bearbeitet werden. Die Standard-Skriptsprache ist JavaScript und für jedes SVG-Element und -Attribut gibt es definierte Document Object Model (DOM)-Objekte. Skripte sind in <script>Elemente eingeschlossen. Sie können je nach Bedarf als Reaktion auf Zeigerereignisse, Tastaturereignisse und Dokumentereignisse ausgeführt werden.
Animation
SVG-Inhalte können mit den integrierten Animationselementen wie <animate>, <animateMotion>und animiert werden <animateColor>. Inhalte können durch Manipulation des DOM mit ECMAScript und den integrierten Timern der Skriptsprache animiert werden. Die SVG-Animation wurde so konzipiert, dass sie mit aktuellen und zukünftigen Versionen der Synchronized Multimedia Integration Language (SMIL) kompatibel ist . Animationen können kontinuierlich sein, sie können sich wiederholen und wiederholen und sie können auf Benutzerereignisse reagieren, wie oben erwähnt.
Schriftarten
Wie bei HTML und CSS kann Text in SVG auf externe Schriftartdateien verweisen, wie z. B. auf Systemschriftarten. Wenn die erforderlichen Schriftartdateien auf dem Computer, auf dem die SVG-Datei gerendert wird, nicht vorhanden sind, wird der Text möglicherweise nicht wie beabsichtigt angezeigt. Um diese Einschränkung zu umgehen, kann Text in einer SVG-Schrift angezeigt werden , wobei die erforderlichen Glyphen in SVG als Schriftart definiert sind , auf die dann vom <text>Element verwiesen wird .
Metadaten
In Übereinstimmung mit der W3C ‚s Semantic Web Initiative ermöglicht SVG Autoren zur Verfügung zu stellen Metadaten über SVG - Inhalt. Die wichtigste Einrichtung ist das <metadata>Element, in dem das Dokument mithilfe von Dublin Core- Metadateneigenschaften beschrieben werden kann (z. B. Titel, Ersteller/Autor, Betreff, Beschreibung usw.). Es können auch andere Metadatenschemata verwendet werden. Darüber hinaus definiert SVG- Elemente <title>und <desc>-Elemente, bei denen Autoren auch beschreibendes Klartextmaterial in einem SVG-Bild bereitstellen können, um das Indexieren, Suchen und Abrufen auf verschiedene Weise zu erleichtern.

Ein SVG-Dokument kann Komponenten wie Formen, Farbverläufe usw. definieren und wiederholt verwenden. SVG-Bilder können auch Rastergrafiken wie PNG- und JPEG- Bilder und weitere SVG-Bilder enthalten.

Beispiel

SVG-Beispiel Markup grid.svg

Dieser Code erzeugt die im Bild gezeigten farbigen Formen, mit Ausnahme des Rasters und der Beschriftungen:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="391" height="391" viewBox="-70.5 -70.5 391 391" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect fill="#fff" stroke="#000" x="-70" y="-70" width="390" height="390"/>
<g opacity="0.8">
	<rect x="25" y="25" width="200" height="200" fill="lime" stroke-width="4" stroke="pink" />
	<circle cx="125" cy="125" r="75" fill="orange" />
	<polyline points="50,150 50,200 200,200 200,100" stroke="red" stroke-width="4" fill="none" />
	<line x1="50" y1="50" x2="200" y2="200" stroke="blue" stroke-width="4" />
</g>
</svg>

SVG im Web

SVG aus KOMPAS-Grafik exportiert  [ Wikidata ]

Die Verwendung von SVG im Web wurde durch die fehlende Unterstützung in älteren Versionen des Internet Explorers (IE) eingeschränkt. Viele Websites, die SVG-Bilder bereitstellen, stellen die Bilder auch in einem Rasterformat bereit , entweder automatisch durch HTTP- Content-Negotiation oder durch direkte Auswahl der Datei durch den Benutzer.

Google gab am 31. August 2010 bekannt, dass es begonnen hat, SVG-Inhalte im Web zu indizieren, sei es in eigenständigen Dateien oder in HTML eingebettet , und dass Benutzer solche Inhalte in ihren Suchergebnissen sehen werden. Am 8. Dezember 2010 wurde bekannt gegeben, dass die Google Bildersuche auch mit der Indizierung von SVG-Dateien beginnen wird. Die Website kündigte am 11. Februar 2011 eine Option zur Beschränkung der Bildsuche auf SVG-Dateien an.

Unterstützung für native Browser

Konqueror war der erste Browser, der SVG in der Version 3.2 im Februar 2004 unterstützte. Seit 2011 bieten alle gängigen Desktop-Browser und viele kleinere SVG-Unterstützung. Die Implementierungen anderer Browser sind noch nicht abgeschlossen; siehe Vergleich der Layout-Engines für weitere Details.

Einige frühere Versionen von Firefox (z. B. Versionen zwischen 1.5 und 3.6) sowie einige andere inzwischen veraltete Webbrowser, die SVG-Grafiken anzeigen können, benötigten diese eingebettet in <object>oder <iframe> Elemente , um sie als Teile einer HTML-Webseite anzuzeigen, anstatt sie als Teile einer HTML-Webseite anzuzeigen Verwenden Sie die Standardmethode zum Integrieren von Bildern mit <img>. SVG-Bilder können jedoch mithilfe von XML-Namespaces in XHTML-Seiten eingefügt werden .

Tim Berners-Lee , der Erfinder des World Wide Web , kritisierte frühere Versionen des Internet Explorers, weil diese SVG nicht unterstützten.

  • Opera (seit 8.0) unterstützt die SVG 1.1 Tiny-Spezifikation, während Opera 9 SVG 1.1 Basic und einige SVG 1.1 Full unterstützt. Opera 9.5 bietet teilweise Unterstützung für SVG Tiny 1.2. Es unterstützt auch SVGZ (komprimiertes SVG).
  • Browser, die auf der Gecko- Layout-Engine basieren (wie Firefox , Flock , Camino und SeaMonkey ) haben alle seit 2005 unvollständige Unterstützung für die SVG 1.1 Full-Spezifikation. Die Mozilla-Site bietet eine Übersicht über die in Firefox unterstützten Module und die Module, die sich in der Entwicklung befinden. Gecko 1.9, das in Firefox 3.0 enthalten ist, bietet Unterstützung für weitere SVG-Spezifikationen (einschließlich Filter).
  • Pale Moon , das die Goanna- Layout-Engine (eine Abzweigung der Gecko- Engine) verwendet, unterstützt SVG.
  • Browser basiert auf WebKit (wie von Apple 's Safari , Google Chrome und der Omni - Gruppe ist OmniWeb ) seit 2006 unvollständige Unterstützung für die SVG 1.1 Full - Spezifikation hatte.
  • Amaya bietet teilweise SVG-Unterstützung.
  • Internet Explorer 8 und ältere Versionen unterstützen SVG nicht. IE9 (veröffentlicht am 14. März 2011) unterstützt den grundlegenden SVG-Funktionssatz. IE10 erweiterte SVG-Unterstützung durch Hinzufügen von SVG 1.1-Filtern.
  • Microsoft Edge unterstützt SVG 1.1.
  • Der Maxthon Cloud Browser unterstützt auch SVG.

Die native und vollständige Unterstützung hat mehrere Vorteile: Es werden keine Plugins benötigt, SVG kann frei mit anderen Inhalten in einem einzigen Dokument gemischt werden und Rendering und Scripting werden erheblich zuverlässiger.

Mobiler Support

SVG Tiny (SVGT) 1.1 und 1.2 sind mobile Profile für SVG. SVGT 1.2 enthält einige Funktionen, die in SVG 1.1 nicht enthalten sind, einschließlich nicht skalierender Striche, die von einigen SVG 1.1-Implementierungen wie Opera, Firefox und WebKit unterstützt werden. Da die gemeinsame Codebasis zwischen Desktop- und mobilen Browsern zunahm, nahm auch die Verwendung von SVG 1.1 gegenüber SVGT 1.2 zu.

Die Unterstützung für SVG kann auf älteren oder eingeschränkteren Smartphones auf SVGT beschränkt sein oder hauptsächlich durch das jeweilige Betriebssystem eingeschränkt sein. Adobe Flash Lite unterstützt optional SVG Tiny seit Version 1.1. Auf der Konferenz SVG Open 2005 demonstrierte Sun eine mobile Implementierung von SVG Tiny 1.1 für die Connected Limited Device Configuration (CLDC)-Plattform.

Mobiltelefone , die Opera Mobile verwenden , sowie der integrierte Browser des iPhones enthalten auch SVG-Unterstützung. Obwohl die WebKit- Engine verwendet wurde, unterstützte der in Android integrierte Browser SVG vor v3.0 (Honeycomb) nicht. Vor v3.0 war Firefox Mobile 4.0b2 (Beta) für Android der erste Browser, der unter Android lief und standardmäßig SVG unterstützte.

Die verfügbare SVG Tiny-Unterstützung variiert je nach installierter SVG-Engine von Mobilgerät zu Mobilgerät. Viele neuere mobile Produkte unterstützen zusätzliche Funktionen über SVG Tiny 1.1 hinaus, wie Farbverlauf und Deckkraft; dies wird manchmal als "SVGT 1.1+" bezeichnet, obwohl es keinen solchen Standard gibt.

RIM ‚s Blackberry hat eine eingebaute Unterstützung für SVG Tiny 1.1 ab Version 5.0. Der Support für den WebKit-basierten BlackBerry Torch-Browser in OS 6 und 7 wird fortgesetzt.

Die S60-Plattform von Nokia bietet integrierte Unterstützung für SVG. Zum Beispiel werden Icons im Allgemeinen mit der SVG-Engine der Plattform gerendert. Nokia hat auch die Expertengruppe JSR 226: Scalable 2D Vector Graphics API geleitet , die Java ME API für SVG-Präsentation und -Manipulation definiert. Diese API wurde in S60 Platform 3rd Edition Feature Pack 1 und höher implementiert. Einige Telefone der Serie 40 unterstützen auch SVG (z. B. Nokia 6280 ).

Die meisten Sony Ericsson- Telefone ab K700 (nach Veröffentlichungsdatum) unterstützen SVG Tiny 1.1. Telefone ab K750 unterstützen auch Funktionen wie Deckkraft und Farbverläufe. Telefone mit Sony Ericsson Java Platform-8 unterstützen JSR 226.

Windows Phone unterstützt SVG seit Version 7.5.

SVG wird auch auf verschiedenen Mobilgeräten von Motorola , Samsung , LG und Siemens Mobile / BenQ-Siemens unterstützt . eSVG, eine SVG-Rendering-Bibliothek, die hauptsächlich für eingebettete Geräte geschrieben wurde, ist auf einigen mobilen Plattformen verfügbar.

Anwendungsunterstützung

SVG-Bilder können mit einem Vektorgrafik-Editor wie Inkscape , Adobe Illustrator , Adobe Flash Professional oder CorelDRAW erstellt und mit derselben Software in gängige Rasterbildformate wie PNG gerendert werden . Zusätzlich Editoren wie Inkscape und Boxy SVG bieten Werkzeuge , um Spurenrasterbilder zu Bézier - Kurven typischerweise unter Verwendung von Bildverfolgungs Backends wie potrace , Autotrace und imagetracerjs .

Software kann zum Rendern von SVG-Bildern programmiert werden, indem eine Bibliothek wie librsvg verwendet wird, die von GNOME seit 2000, Batik oder ThorVG seit 2020 für die leichten Systeme verwendet wird. SVG-Bilder können auch mit ImageMagick , einem kostenlosen Befehlszeilenprogramm (das auch librsvg unter der Haube verwendet) in jedes gewünschte gängige Bildformat gerendert werden .

Andere Anwendungen für SVG umfassen das Einbetten zur Verwendung in Textverarbeitung (zB mit LibreOffice ) und Desktop-Publishing (zB Scribus ), das Plotten von Graphen (zB gnuplot ) und das Importieren von Pfaden (zB zur Verwendung in GIMP oder Blender ). Die Anwendungsdienste Microsoft 365 und Microsoft Office 2019 bieten Unterstützung beim Exportieren, Importieren und Bearbeiten von SVG-Bildern. Der von Apple verwendete Uniform Type Identifier für SVG ist public.svg-imageund entspricht public.imageund public.xml.

Siehe auch

Skalierbare Vektorgrafiken

Verweise

Externe Links