Skalierbare Vektorgrafiken
Internet -Medientyp | Bild/SVG+XML [1][2] |
---|---|
Uniform Typ Identifier (UTI) | public.svg-image |
Entwickelt von | W3c |
Erstveröffentlichung | 4. September 2001 |
Neueste Erscheinung | 1.1 (zweite Ausgabe) 16. August 2011 |
Art des Formats | Vektorgrafiken |
Erweitert von | Xml |
Standard | W3C SVG |
Offenes Format? | Ja |
Webseite | www |
Skalierbare Vektorgrafiken (SVG) ist ein Xml-basierend Vektorbildformat zum Definieren zweidimensional Grafiken, Unterstützung für Interaktivität und Animation. Die SVG -Spezifikation ist eine offener Standard entwickelt von der World Wide Web Konsortium (W3C) Seit 1999.
SVG -Bilder sind in a definiert Vektorgrafiken formatieren und aufbewahrt Xml Textdateien. SVG -Bilder können also sein skaliert Größe ohne Qualitätsverlust, und SVG -Dateien können sein gesucht, indiziert, geschrieben, und komprimiert. Die XML -Textdateien können erstellt und bearbeitet werden Textredakteure oder Vector Graphics Editoren, und sind gerendert von den am häufigsten verwendeten Internetbrowser.
Überblick
SVG war innerhalb der Entwicklung in der Entwicklung World Wide Web Konsortium (W3C) Seit 1999 wurden 1998 nach sechs konkurrierenden Vorschlägen für Vector -Grafiksprachen dem Konsortium eingereicht (siehe unten).[3]
Die frühe SVG -Arbeitsgruppe beschloss, keine der kommerziellen Einreichungen zu entwickeln, sondern eine neue Markup -Sprache zu schaffen, die von ihnen informiert wurde, aber nicht wirklich auf einer von ihnen basiert.[3]
SVG ermöglicht drei Arten von Grafikobjekten: Vektorgrafik Formen (wie Pfade, die aus geraden Linien und Kurven bestehen), Bitmap Bilder und Text. Grafische Objekte können gruppiert, gestylt, transformiert und zusammengesetzt werden gerendert Objekte. Das Feature -Set enthält verschachtelt Transformationen, Ausschnittpfade, Alpha -Masken, Filtereffekte und Vorlagenobjekte. SVG -Zeichnungen können sein interaktiv und kann einschließen Animation, definiert in den SVG XML -Elementen oder über Scripting Das greift auf die SVG zu Dokumentobjektmodell (DOM). SVG verwendet CSS für Styling und JavaScript zum Skripten. Text, einschließlich Internationalisierung und LokalisierungErscheint im Klartext innerhalb des SVG DOM die Barrierefreiheit von SVG -Grafiken.[4]
Die SVG -Spezifikation wurde im Jahr 2011 auf Version 1.1 aktualisiert. Es gibt zwei 'mobile SVG mobile Geräte mit reduzierten Rechen- und Anzeigefunktionen.[5] Skalierbare Vektorgrafiken 2 wurden a W3C -Kandidatenempfehlung Am 15. September 2016 enthält SVG 2 zusätzlich zu denen von SVG 1.1 und SVG Tiny 1.2 mehrere neue Funktionen.[6]
Obwohl sich die SVG -Spezifikation hauptsächlich konzentriert Vektorgrafik -Markup -Sprache, sein Design beinhaltet die grundlegenden Fähigkeiten von a Seitenbeschreibung Sprache wie Adobe PDF. Es enthält Bestimmungen für reichhaltige Grafiken und ist mit kompatibel mit CSS Für Stylingzwecke. SVG verfügt über die Informationen, die zum Platzieren jeder Glyphe und des Bildes an einem ausgewählten Ort auf einer gedruckten Seite erforderlich sind.[7]
Skripten und Animation
SVG -Zeichnungen können dynamisch und interaktiv sein. Zeitbasierte Änderungen an den Elementen können in beschrieben werden Lächer, oder kann in a programmiert werden Skriptsprache (z.B. JavaScript). Der W3C empfiehlt ausdrücklich den Lächeln als Standard für die Animation in SVG.[8]
Eine reichhaltige Gruppe von Event -Handler wie zum Beispiel "Onmouseover " und "Onclick " kann jedem grafischen SVG -Objekt zugewiesen werden, um Aktionen und Ereignisse anzuwenden.
Kompression
SVG -Bilder, die XML sind, enthalten viele wiederholte Textfragmente, so dass sie gut geeignet sind Verlustlose Datenkomprimierung Algorithmen. Wenn ein SVG -Bild mit dem komprimiert wurde gzip Algorithmus wird als "SVGZ" bezeichnet und verwendet das entsprechende .svgz
Dateiname Erweiterung. Die konformen SVG 1.1 -Zuschauer zeigen komprimierte Bilder an.[9] Eine SVGZ -Datei ist in der Regel 20 bis 50 Prozent der ursprünglichen Größe.[10] W3C stellt SVGZ -Dateien zur Verfügung, um die Konformität zu testen.[11]
Entwicklungsgeschichte
SVG wurde vom W3C entwickelt SVG Arbeitsgruppe Ab 1998 wurden in diesem Jahr sechs Konkurrenz -Vektor -Grafik -Einreichungen eingingen:
- Webschematik, von Cclrc[12]
- PGML, aus Adobe Systems, IBM, Netscape und Sun Microsystems[13]
- VML, durch Autodesk, Hewlett Packard, Makromedia, Microsoftund Vision[14]
- Hypergrafik -Markup -Sprache (HGML), von Orange UK und PRP[15]
- Webcgm, aus Boeing, Intercap -Grafiksysteme, Inso Corporation, Cclrc, und Xerox[16]
- Drawml von Excosoft AB[3]
Die Arbeitsgruppe wurde damals von der Zeit von der Zeit geleitet Chris Lilley des w3c.
Version 1.x
- SVG 1.0 wurde a W3C -Empfehlung am 4. September 2001.[17]
- SVG 1.1 wurde am 14. Januar 2003 eine W3C -Empfehlung.[18] Die SVG 1.1 -Spezifikation wird modularisiert, damit Teilmengen als Profile definiert werden können. Abgesehen davon gibt es kaum einen Unterschied zwischen SVG 1.1 und SVG 1.0.
- SVG winzig und SVG Basic (Die mobilen SVG -Profile) wurden am 14. Januar 2003 zu W3C -Empfehlungen. Diese werden als Profile von SVG 1.1 beschrieben.[19]
- SVG Tiny 1.2 wurde am 22. Dezember 2008 zu einer W3C -Empfehlung.[20] Es wurde zunächst als Profil des geplanten SVG Full 1.2 eingezogen (das seitdem zugunsten von SVG 2 abgesetzt wurde).[21] wurde aber später als eigenständige Spezifikation neu gestaltet. Es wird im Allgemeinen schlecht unterstützt.
- SVG 1.1 Second Edition, das alle Errata und Klarstellungen enthält, aber keine neuen Funktionen für die ursprüngliche SVG 1.1 wurden am 16. August 2011 veröffentlicht.[4]
- SVG Tiny 1.2 tragbar/sicher, eine sicherere Teilmenge des SVG Tiny 1.2 -Profils, das am 29. Juli 2020 als IETF -Entwurfsstandard eingeführt wurde.[22] Auch als SVG Tiny P/s bekannt. SVG Tiny 1.2 tragbar/sicher ist eine Voraussetzung der Bimi Entwurfsstandard.[23]
Version 2
SVG 2 entfernt oder veraltet einige Funktionen von SVG 1.1 und enthält neue Funktionen aus HTML5 und Web Open -Schriftformat:[24]
- Zum Beispiel entfernt SVG 2 mehrere Schriftelemente wie z.
Glyphe
undAltglyphe
(ersetzt durch das WOFF -Schriftformat). - Das
XML: Raum
Das Attribut wird zugunsten von CSS veraltet. - HTML5 -Funktionen wie z.
Übersetzen
undDaten-*
Attribute wurden hinzugefügt. - Die Texthandhabungsfunktionen von SVG Tiny 1.2 sind Annotierungen für enthalten, aber noch nicht in Text formalisiert.[25] Einige andere 1.2 Merkmale sind in der Kirsche gepflückt, in,[24] SVG 2 ist jedoch kein Superet von SVG Tiny 1,2 im Allgemeinen.
SVG 2 erreichte am 15. September 2016 die Empfehlungsphase der Kandidaten.[26] und überarbeitete Versionen wurden am 7. August 2018 und 4. Oktober 2018 veröffentlicht.[27] Der jüngste Entwurf wurde am 21. März 2022 veröffentlicht.[28]
Mobile Profile
Aufgrund der Nachfrage der Branche wurden zwei mobile Profile mit SVG 1.1 eingeführt: SVG winzig (SVGT) und SVG Basic (SVGB).
Dies sind Teilmengen des vollständigen SVG -Standards, der hauptsächlich für bestimmt ist Benutzeragenten mit begrenzten Fähigkeiten. Insbesondere wurde SVG Tiny für hoch eingeschränkte mobile Geräte wie z. Handys; Es unterstützt kein Styling oder Scripting.[29] SVG Basic wurde für mobile Geräte auf höherer Ebene definiert, wie z. Smartphones.
Im Jahr 2003 die 3GPP, eine internationale Gruppe mit Telekommunikationsstandards, die SVG Tiny als obligatorisches Vektor-Grafikmedienformat für Telefone der nächsten Generation übernommen hat. SVGT ist das erforderliche Vektorgrafikformat und die Unterstützung von SVGB ist optional für Multimedia Nachrichten Service (MMS) und Paket-Switched-Streaming-Dienst.[30][31][32] Es war später[wenn?] Nach Bedarfsformat für Vektorgrafiken in 3GPP hinzugefügt IP -Multimedia -Subsystem (IMS).[33][34]
Unterschiede zu nicht mobiler SVG
Kein der beiden mobilen Profilen enthält die Unterstützung des vollständigen Dokumentobjektmodells (DOM), während nur SVG Basic optional unterstützt werden kann. Da es sich jedoch um eine vollständig kompatible Teilmengen des gesamten Standards handelt, können die meisten SVG -Grafiken weiterhin von Geräten gerendert werden, die das nur unterstützen, das nur die Unterstützung der SVG -Grafiken. Mobile Profile.[35]
SVGT 1.2 fügt ein Mikrodom (μd), Styling und Skripten hinzu.[29]
Verwandte Arbeit
Das MPEG-4 Teil 20 Standard - Leichte Anwendungsszenendarstellung (Laser) und einfaches Aggregationsformat (SAF) basiert auf SVG Tiny.[36] Es wurde von entwickelt von MPEG (ISO/IEC JTC1/Sc29/wg11) und als ISO/IEC 14496-20: 2006 veröffentlicht.[37] Die SVG-Funktionen werden in MPEG-4 Teil 20 mit wichtigen Funktionen für mobile Dienste wie dynamische Updates, binäre Codierung und modernster Schriftrepräsentation verbessert.[38] SVG wurde ebenfalls untergebracht in MPEG-4 Teil 11, in dem Erweiterbares MPEG-4-Textformat (XMT) - Eine Textdarstellung des MPEG-4-Multimedia-Inhalts mit Verwendung Xml.[39]
Funktionalität
Die SVG 1.1 -Spezifikation definiert 14 Funktionsbereiche oder Feature -Sets:[18]
- Wege
- Einfache oder zusammengesetzte Formrisse werden mit gebogenen oder geraden Linien gezeichnet, die ausgefüllt, umrissen oder verwendet werden können Ausschnittpfad. Pfade haben eine kompakte Codierung.
- Zum Beispiel,
M
(Für "Wechsel zu") geht der anfängliche numerische Vorschriften voraus x und y Koordinaten, undL
(Für "Linie zu") geht ein Punkt voraus, an den eine Linie gezogen werden soll. Weitere Befehlsbriefe (C
,S
,Q
,T
, undA
) gehen Daten voraus, die zum Zeichnen verschiedener Verschiedene verwendet werden Bézier und elliptisch Kurven.Z
wird verwendet, um einen Weg zu schließen. - In allen Fällen folgen absolute Koordinaten der Befehle von Kapitalbuchstaben, und relative Koordinaten werden nach den äquivalenten Unterkassungsbuchstaben verwendet.[40]
- Grundformen
- Gerade Wege und Pfade aus einer Reihe mit verbundenen geraden Segmenten (Polylines) sowie geschlossenen Polygonen, Kreisen und Ellipsen können gezogen werden. Rechtecke und runde Rechtecke sind ebenfalls Standardelemente.[41]
- Text
- Der in einer SVG -Datei enthaltene Unicode -Zeichenstext wird als ausgedrückt als Xml Zeichendaten. Viele visuelle Effekte sind möglich, und die SVG -Spezifikation behandelt automatisch den bidirektionalen Text (z. Text um den Rand der Großes Siegel der Vereinigten Staaten).[42]
- Malerei
- SVG -Formen können gefüllt und umrissen werden (mit einer Farbe, einem Gradienten oder einem Muster gestrichen). Füllungen können undurchsichtig sein oder einen Grad an Transparenz haben.
- "Marker" sind Linien-End-Merkmale wie Pfeilspitzen oder Symbole, die an den Eckpunkten eines Polygons erscheinen können.[43]
- Farbe
- Farben können entweder direkt oder über alle sichtbaren SVG -Elemente angewendet werden
füllen
,streicheln
und andere Eigenschaften. Farben sind genauso angegeben wie in CSS2, d. h. Verwenden von Namen wieSchwarz
oderblau
, in hexadezimal wie zum Beispiel#2f0
oder#22ff00
, in Dezimalheit wieRGB (255.255.127)
, oder als Prozentsätze der FormRGB (100%, 100%, 50%)
.[44] - Gradienten und Muster
- SVG -Formen können mit festen Farben wie oben oder mit Farbgradienten oder mit wiederholenden Mustern gefüllt oder umrissen werden. Farbgradienten können linear oder radial (kreisförmig) sein und eine beliebige Anzahl von Farben sowie Wiederholungen beinhalten. Opazitätsgradienten können ebenfalls angegeben werden. Muster basieren auf vordefinierten Raster- oder Vektorgrafikobjekten, die in wiederholt werden können
x
undy
Richtungen. Gradienten und Muster können animiert und geschrieben werden.[45] - Seit 2008 gab es Diskussionen[46][47] unter den professionellen Nutzern von SVG, die entweder Gradient Maschen oder vorzugsweise Diffusionskurven könnte der SVG -Spezifikation sinnvoll hinzugefügt werden. Es wird gesagt, dass eine "einfache Darstellung [unter Verwendung von Diffusionskurven] auch sehr subtile Schattierungseffekte darstellen kann"[48] und dass "Diffusionskurvenbilder sowohl in der Qualität als auch in der Codierungseffizienz mit Gradientennetz vergleichbar sind, aber einfacher zu erstellen sind (nach mehreren Künstlern, die beide Tools verwendet haben) und aus Bitmaps vollständig automatisch erfasst werden können".[49] Der aktuelle Entwurf von SVG 2 enthält Gradientengitter.[50]
- Ausschneiden, Maskieren und Kompositing
- Grafische Elemente, einschließlich Text, Pfade, grundlegenden Formen und Kombinationen, können als Umrisse verwendet werden, um beide zu definieren Innerhalb und außen Regionen, die unabhängig voneinander gestrichen werden können (mit Farben, Gradienten und Mustern). Voll undurchsichtig Ausschnittpfade und halbtransparent Masken sind zusammengesetzt zusammen, um die Farbe und Deckkraft jedes Pixels des endgültigen Bildes zu berechnen Alpha Mischen.[51]
- Filtereffekte[52]
- Ein Filtereffekt besteht aus einer Reihe von Grafikoperationen, die auf eine bestimmte Quellvektorgrafik angewendet werden, um einen modifizierten bitmapped Ergebnis.
- Interaktivität
- SVG -Bilder können in vielerlei Hinsicht mit Benutzern interagieren. Zusätzlich zu Hyperlinks, wie unten erwähnt, kann jeder Teil eines SVG -Bildes für die Benutzeroberfläche empfänglich gemacht werden Veranstaltungen wie Änderungen in Fokus, Mausklicks, Scrollen oder Zoomen des Bildes und anderer Zeiger-, Tastatur- und Dokumentereignisse. Ereignishandler können Animationen starten, stoppen oder verändern und Skripte als Reaktion auf solche Ereignisse auslösen.[53]
- Verknüpfung
- SVG -Bilder können Hyperlinks zu anderen Dokumenten enthalten Xlink. Durch die Verwendung der
Element oder a Fragment -Kennung, URLs Kann zu SVG -Dateien verknüpft werden, die den sichtbaren Bereich des Dokuments ändern. Dies ermöglicht das Erstellen spezifischer Ansichtszustände, mit denen ein bestimmtes Gebiet eingefärbt oder die Ansicht auf ein bestimmtes Element eingeschränkt wird. Dies ist hilfreich beim Erstellen Sprites. Xlink Unterstützung in Kombination mit demDas Element ermöglicht auch die Verknüpfung und Wiederverwendung interner und externer Elemente. Auf diese Weise können Codierer mehr mit weniger Markup erledigen und für sauberere Code sorgt.[54]
- Scripting
- Alle Aspekte eines SVG -Dokuments können mit Skripten auf ähnliche Weise wie HTML zugegriffen und manipuliert werden. Die Standard -Skriptsprache ist JavaScript und es gibt definiert Dokumentobjektmodell (DOM) Objekte für jedes SVG -Element und -attribut. Skripte sind eingeschlossen in
Elemente. Sie können nach Bedarf als Antwort auf Zeigerereignisse, Tastaturereignisse und Dokumentereignisse ausgeführt werden.[55]
- Animation
- SVG-Inhalte können mit den integrierten Animationselementen wie z. B. animiert werden
,
und
. Inhalte können durch Manipulation des DOM mithilfe von ECMAScript und den integrierten Timern der Skriptsprache animiert werden. Die SVG -Animation wurde so konzipiert, dass sie mit aktuellen und zukünftigen Versionen von kompatibel ist Synchronisierte Multimedia -Integrationssprache (Lächelt). Animationen können kontinuierlich sein, sie können schleifen und wiederholen und auf Benutzerereignisse reagieren, wie oben erwähnt.[56] - Schriftarten
- Wie bei HTML und CSS kann der Text in SVG auf externe Schriftdateien wie Systemschriften verweisen. Wenn die erforderlichen Schriftdateien auf der Maschine, auf der die SVG -Datei gerendert wird, nicht vorhanden ist, wird der Text möglicherweise nicht wie beabsichtigt angezeigt. Um diese Einschränkung zu überwinden, kann Text in einem angezeigt werden SVG -Schrift, wo die erforderlichen Glyphen werden in SVG als eine Schriftart definiert, auf die dann aus dem verwiesen wird
Element.[57] - Metadaten
- In Übereinstimmung mit dem W3c's Semantisches Web Initiative, SVG ermöglicht es den Autoren, bereitzustellen Metadaten über SVG -Inhalt. Die Haupteinrichtung ist die
Element, wobei das Dokument verwendet werden kann Dublin -Kern Metadateneigenschaften (z. B. Titel, Schöpfer/Autor, Thema, Beschreibung usw.). Andere Metadatenschemata können ebenfalls verwendet werden. Darüber hinaus definiert SVG
und
Elemente, bei denen Autoren möglicherweise auch deskriptives Material innerhalb eines SVG-Bildes ein einfaches Text anbieten, um die Indexierung, Suche und Abrufen mit einer Reihe von Mitteln zu unterstützen.[58]
Ein SVG -Dokument kann Komponenten einschließlich Formen, Gradienten usw. definieren und wiederholt verwenden. SVG -Bilder können auch enthalten Rastergrafiken, wie zum Beispiel Png und JPEG Bilder und weitere SVG -Bilder.
Beispiel
Dieser Code erzeugt die im Bild gezeigten farbigen Formen, ausgenommen das Raster und die Etiketten:
SVG im Web
Die Verwendung von SVG im Web wurde durch die mangelnde Unterstützung in älteren Versionen von begrenzt Internet Explorer (Dh). Viele Websites, die SVG -Bilder bedienen Rasterformatentweder automatisch von Http Inhaltsverhandlung oder indem Sie dem Benutzer direkt zulassen, die Datei auszuwählen.
Google Kündigte am 31. August 2010 angekündigt, dass es begonnen hatte, SVG -Inhalte im Web zu indizieren, unabhängig davon Htmlund diese Benutzer würden anfangen, solche Inhalte unter ihren Suchergebnissen aufgeführt zu sehen.[59] Es wurde am 8. Dezember 2010 angekündigt, dass Google -Bildsuche würde auch mit der Indexierung von SVG -Dateien beginnen.[60] Die Website kündigte eine Option zur Einschränkung der Bildsuche auf SVG -Dateien am 11. Februar 2011 an.[61]
Native Browser -Unterstützung
Konqueror war der erste Browser, der SVG in der Release -Version 3.2 im Februar 2004 unterstützte.[62] Ab 2011 haben alle und viele minderjährige große Desktop -Browser einen gewissen Grad an SVG -Unterstützung. Die Implementierungen anderer Browser sind noch nicht vollständig; sehen Vergleich von Layout -Motoren für weitere Details.
Einige frühere Versionen von Firefox (z. B. Versionen zwischen 1,5 und 3,6[63]) sowie ein paar andere inzwischen übermittelte Webbrowser, die SVG-Grafiken anzeigen können, benötigten sie eingebettet in oder
Elemente Um sie als Teile einer HTML -Webseite integriert anzuzeigen, anstatt die Standardmethode zum Integrieren von Bildern mit zu verwenden
.[64] SVG -Bilder können jedoch in XHTML -Seiten enthalten sein XML -Namespaces.[65]
Tim Berners-Lee, der Erfinder der Weltweites Netz, war kritisch gegenüber frühen Versionen von Internet Explorer wegen seiner Versäumnis, SVG zu unterstützen.[66]
- Oper (Da 8.0) die SVG 1.1 winzige Spezifikation unterstützt, während Opera 9 SVG 1.1 Basisunterstützung und einige von SVG 1.1 voll umfasst. Opera 9.5 verfügt über teilweise SVG Tiny 1,2 -Unterstützung. Es unterstützt auch SVGZ (komprimierte SVG).
- Browser basierend auf dem Gecko Layout -Motor (wie zum Beispiel Feuerfuchs, Herde, Camino, und Seeaffe) Alle haben seit 2005 eine unvollständige Unterstützung für die vollständige Spezifikation von SVG 1.1 erhalten[67] und der Module, die sich in der Entwicklung befinden.[68] Gecko 1.9, enthalten in Firefox 3.0Fügt Unterstützung für mehr SVG -Spezifikation (einschließlich Filter) hinzu.[69]
- Blasser Mond, was das verwendet Goanna Layout -Motor (eine Gabel der Gecko Motor), unterstützt SVG.
- Browser basierend auf Webkit (wie zum Beispiel Apfel's Safari, Google Chrome, und Die Omni -Gruppe's Omniweb) haben seit 2006 eine unvollständige Unterstützung für die SVG 1.1 vollständige Spezifikation.[70]
- Amaya Hat teilweise SVG -Unterstützung.
- Internet Explorer 8 und ältere Versionen unterstützen SVG nicht.[71][72] IE9 (veröffentlicht 14. März 2011) unterstützt das Basic SVG -Funktionssatz.[73] IE10 erweiterte SVG -Unterstützung durch Hinzufügen von SVG 1.1 -Filtern.[74]
- Microsoft Edge Legacy unterstützt SVG 1.1.[75]
- Das Maxthon Cloudbrowser Unterstützt auch SVG.
Einheimische und volle Unterstützung hat mehrere Vorteile: Plugins Es sind nicht benötigt, SVG kann in einem einzigen Dokument frei mit anderen Inhalten gemischt werden, und das Rendern und Skript werden erheblich zuverlässiger.[76]
Mobiler Support
SVG Tiny (SVGT) 1.1 und 1.2 sind mobile Profile für SVG. SVGT 1.2 enthält einige Funktionen, die nicht in SVG 1.1 enthalten sind, einschließlich nichtskalierender Striche, die von einigen SVG 1.1-Implementierungen wie Opera, Firefox und Webkit unterstützt werden. Mit zunehmender Code -Basis zwischen Desktop und mobilen Browsern stieg auch die Verwendung von SVG 1.1 über SVGT 1.2.
Die Unterstützung für SVG kann auf SVGT auf älteren oder begrenzten beschränkt sein Smartphones oder kann in erster Linie durch ihr jeweiliges Betriebssystem begrenzt werden. Adobe Flash Lite hat optional SVG Tiny seit Version 1.1 unterstützt. Auf der SVG Open 2005 Conference, Sonne zeigte eine mobile Implementierung von SVG Tiny 1.1 für die Konfiguration mit begrenzter Gerätekonfiguration (CLDC) Plattform.[77]
Handys, die verwenden Opera Mobile, ebenso wie iPhoneIn einem Browser eingebauter Browser beinhaltet auch die SVG -Unterstützung. Obwohl es das benutzte Webkit Motor, der Android Der eingebaute Browser unterstützte SVG vor V3.0 (Wabe) nicht.[78] Vor V3.0 war Firefox Mobile 4.0b2 (Beta) für Android der erste Browser unter Android, der SVG standardmäßig unterstützt.[79]
Das verfügbare SVG -Support -Support variiert je nach installierter SVG -Motor von mobilen bis mobilen. Viele neuere mobile Produkte unterstützen zusätzliche Funktionen über SVG Tiny 1.1, wie Gradienten und Deckkraft. Dies wird manchmal als "SVGT 1.1+" bezeichnet, obwohl es keinen solchen Standard gibt.
RAND's Brombeere hat integrierte Unterstützung für SVG Tiny 1.1 seit Version 5.0.[80] Die Unterstützung wird für den Webkit-basierten Blackberry Torch Browser in OS 6 und 7 fortgesetzt.[81]
Nokia's S60 -Plattform hat eingebaute Unterstützung für SVG. Beispielsweise werden Symbole im Allgemeinen mit der SVG -Engine der Plattform gerendert. Nokia hat auch die JSR 226: Skalierbare 2D -Vektorgrafik geführt API Expertengruppe, die definiert Java mich API für SVG -Präsentation und -manipulation. Diese API wurde in der S60 Platform 3rd Edition Feature Pack 1 und weiter implementiert.[82] Etwas Serie 40 Telefone Unterstützen Sie auch SVG (wie z. Nokia 6280).
Die meisten Sony Ericsson Telefone beginnen mit K700 (bis zum Veröffentlichungsdatum) Unterstützung SVG Tiny 1.1. Telefone beginnen mit K750 Unterstützen Sie auch Funktionen wie Deckkraft und Gradienten. Telefone mit Sony Ericsson Java Platform-8 Unterstützung für JSR 226.
Windows Phone hat SVG seit Version 7.5 unterstützt.
SVG wird auch auf verschiedenen mobilen Geräten von unterstützt Motorola, Samsung, Lg, und Siemens Mobile/Benq-Siemens. ESVG, eine SVG -Rendering -Bibliothek, die hauptsächlich für geschrieben wurde für eingebettet Geräte ist auf einigen mobilen Plattformen verfügbar.[83][84]
Anwendungsunterstützung
SVG -Bilder können durch die Verwendung von a erstellt werden Vector Graphics Editor, wie zum Beispiel Inkscape, Adobe Illustrator, Adobe Flash Professional, oder Coreldraw, und zu gewöhnlich gerendert Raster Bildformate wie z. Png Verwenden derselben Software. Zusätzlich mögen Redakteure Inkscape und Boxy SVG Stellen Sie Werkzeuge zur Verfolgung von Rasterbildern zur Verfügung zu Bézier -Kurven typisch verwendet Bildverfolgung Rückenlieder wie Potrace,[85] Autotrace und Imagetracerjs.
Die Software kann so programmiert werden, dass SVG -Bilder mit a verwendet werden Bibliothek wie zum Beispiel librsvg benutzt von Gnom seit 2000, Batik oder thorvg seit 2020 für die leichten Systeme. SVG -Bilder können auch jedem gewünschten populären Bildformat mithilfe verwendet werden Imagemagick, ein kostenloses Befehlszeilendienstprogramm (das auch librsvg unter der Haube verwendet).
Für webbasierte Anwendungen ermöglicht die Nutzungsmodus als Inline-SVG-Inhalt in einem HTML-Dokument mit einem eingebetteten SVG-Inhalt ein. Schild. Die grafischen Funktionen können dann eingesetzt werden, um anspruchsvolle Benutzeroberflächen als SVG- und HTML -Share -Kontext, Ereignishandhabung und CSS zu erstellen.
Andere Verwendungen für SVG sind ein Einbettung für die Verwendung in Textverarbeitung (z. B. mit Libreoffice) und Desktop-Publishing (z.B. Scribus), Diagramme auftreten (z.B. Gnuplot) und importieren Pfade (z. B. zur Verwendung in Gimp oder Mixer). Die Anwendungsdienste Microsoft 365 und Microsoft Office 2019 Unterstützung für den Export anbieten,[86] SVG -Bilder importieren und bearbeiten. Das Einheitliche Kennung Für SVG von Apple ist public.svg-image
und entspricht öffentliches Bild
und public.xml
.
Sicherheit
Es ist üblich, dass SVG als Bildformat beschrieben wird, aber tatsächlich ein Dokumentformat ist, ähnlich wie HTML -Dokumente, und es kann daher Skript oder CSS hosten. Die Hauptsicherheitsprobleme treten auf, wenn SVG -Dateien naiv als Bilddateien behandelt werden, da sie böswillige Inhalte beherbergen können. Wenn sie beispielsweise als CSS -Hintergrundbild oder als Logo auf einer Website oder in einer Bildergalerie eingesetzt werden, können solche Inhalte aktiviert werden. Zumindest könnte dies den Browser (den sogenannten Milliardenlachangriff), könnte aber auch dazu führen HTML -Injektion und Cross-Site-Scripting Anschläge. Der W3C sieht daher bestimmte Anforderungen fest, wenn SVG einfach für Bilder verwendet wird: SVG -Sicherheit.
Inline SVG wird jedoch als weniger Sicherheitsrisiko angesehen, da der Inhalt Teil eines größeren Dokuments ist und das Skript und CSS nicht unerwartet wären.
Siehe auch
- Leinwandelement
- Vergleich der Grafikdateiformate
- Vergleich der Raster-zu-Vektor-Conversion-Software
- Vergleich von Vektorgrafikeditoren
- Computergrafik
- Computergrafik Metafile
- Bilddateiformate
- Entschließung der Unabhängigkeit
- SVG -Dateien in Mediawiki auf Commons: Hilfe: SVG
Verweise
- ^ "Medientypregistrierung für Image/SVG+XML". W3c. Abgerufen 5. Februar 2014.
- ^ St. Laurent, Simon; Makoto, Murata; Kohn, Dan (Januar 2001). "XML -Medientypen". Abgerufen 5. Februar 2014.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ a b c "Geheimer Ursprung von SVG". World Wide Web Konsortium. 21. Dezember 2007. Abgerufen 1. Januar 2011.
- ^ a b "Skalierbare Vektorgrafiken (SVG) 1.1 (zweite Ausgabe)". W3c.
- ^ Capin, Tolga. "Mobile SVG -Profile: SVG Tiny und SVG Basic". W3c. Abgerufen 28. Januar 2017.
- ^ "Skalierbare Vektorgrafiken (SVG) 2". W3c. Abgerufen 28. Januar 2017.
- ^ Alex, Danilo; Fujisawa, Jun (2002). "SVG als Seitenbeschreibung Sprache". svgopen.org. Abgerufen 24. Februar 2010.
- ^ Paul, Festa (9. Januar 2003). "W3C veröffentlicht Scripting Standard, Vorbehalt". CNET. Abgerufen 24. Februar 2010.
- ^ Sehen www
.W3 .org /Tr /SVG11 /entspricht .html #ConformingsVgViewers In welchem "SVG-Implementierungen müssen die Datenströme von GZIP-kodierten [RFC1952] und Deflat-kodierten [RFC1951] für jeden Inhaltstyp (einschließlich SVG, Skriptdateien, Bilder) korrekt unterstützen." - ^ "Sparen komprimiertes SVG (SVGZ)". SVG -Zone. Adobe Systems. 14. Juli 2009. Abgerufen 24. Februar 2010.
- ^ Zum Beispiel, Dev
.W3 .org /Svg /Profile /1 .1f2 /Prüfung /Geschirr /htmlobject /Konform-VIEWERS-01-T .html - ^ "Schematische Grafiken". www.w3.org.
- ^ Al-Shamma, Nabeel; Robert Ayers; Richard Cohn; Jon Ferraiolo; Martin Newell; Roger K. de Bry; Kevin McCluskey; Jerry Evans (10. April 1998). "Precision Graphics Markup Language (PGML)". W3c. Abgerufen 8. Mai 2009.
- ^ Mathews, Brian; Brian Dämin; John Bowler; Howard Cooper Stein; Ajay Jindal; Tuan Nguyen; Peter Wu; Troy Sandale (13. Mai 1998). "Vektor Markup Sprache (VML)". W3c. Abgerufen 8. Mai 2009.
- ^ "Hyper Graphics Markup Language (HGML)". www.w3.org.
- ^ "WebCGM -Profil". xml.coverpages.org.
- ^ Ferraiolo, Jon (4. September 2001). "Skalierbare Vektorgrafik (SVG) 1.0 Spezifikation". World Wide Web Konsortium. Abgerufen 24. Februar 2010.
- ^ a b Ferraiolo, Jon (16. August 2011). "Skalierbare Vektorgrafik (SVG) 1.1 Spezifikation". World Wide Web Konsortium. Abgerufen 14. April 2016.
- ^ Capin, Tolga (15. Juni 2009). "Mobile SVG -Profile: SVG Tiny und SVG Basic". World Wide Web Konsortium. Abgerufen 24. Oktober 2010.
- ^ Andersson, Ola (22. Dezember 2008). "Skalierbare Vektorgrafik (SVG) Tiny 1.2 Spezifikation". World Wide Web Konsortium. Abgerufen 24. Februar 2010.
- ^ Dengler, Patrick (8. Juli 2010). "Erreichen Sie SVG 2.0: Ein Bericht der SVG-Arbeitsgruppe von Angesicht zu Angesicht (24. Mai bis 1. Juni 2010)". Microsoft Developer Network. Microsoft. Abgerufen 26. August 2010.
- ^ Brotman, Alex; Adams, J. Trent. "SVG Tiny tragbar/sicher". IETF - Task Force für Internet Engineering. Abgerufen 9. Februar 2021.
- ^ "Implementierungshandbuch". BIMI -Gruppe. Abgerufen 9. Februar 2021.
- ^ a b "Anhang K: Änderungen von SVG 1.1". World Wide Web Konsortium. 26. Mai 2020. Abgerufen 31. Dezember 2020.
- ^ "Kapitel 11: Text". World Wide Web Konsortium. 26. Mai 2020. Abgerufen 31. Dezember 2020.
- ^ "Skalierbare Vektorgrafiken (SVG) 2". World Wide Web Konsortium. 15. September 2016. Abgerufen 17. August 2021.
- ^ "Skalierbare Vektorgrafiken (SVG) 2". World Wide Web Konsortium. 4. Oktober 2018. Abgerufen 17. August 2021.
- ^ "Skalierbare Vektorgrafiken (SVG) 2". World Wide Web Konsortium. 21. März 2022. Abgerufen 29. April 2022.
- ^ a b "SVG Tiny 1.2". Skalierbare Vektorgrafik (SVG) Tiny 1.2 Spezifikation. W3c. 22. Dezember 2008. Abgerufen 5. März 2014.
- ^ "SVG in 3GPP Multimedia Messaging and Streaming Services (Version März 2003)". SVG offen. 2003. Abgerufen 19. Oktober 2009.
- ^ "3GPP Multimedia Messaging Service (MMS); Medienformate und Codecs (Release 5); 3GPP TS 26.140 V5.2.0 (2002-12); Technische Spezifikation" (Reißverschluss doc). 3GPP. 2. Januar 2003. Abgerufen 25. Februar 2010.
- ^ "Partnerschaftsprojekt der 3. Generation; Technische Spezifikationsgruppendienste und Systemaspekte; Multimedia Messaging Service (MMS); Medienformate und Codecs (Release 5)" (Reißverschluss doc). 3GPP TS 26.140 V5.2.0 (2002-12). 3GPP. März 2003. Abgerufen 24. Februar 2010.
- ^ "3GPP -Spezifikationsdetail - 3GPP TS 26.141: Messaging und Präsenz von IP Multimedia System (IMS); Medienformate und Codecs". 3GPP. 10. Dezember 2009. Abgerufen 24. Februar 2010.
- ^ "Erstellen interaktiver Websites mit skalierbaren Vektorgrafiken (SVG) - [mit Beispielen]". Intelegain.com. Archiviert von das Original am 21. November 2018. Abgerufen 21. November 2018.
- ^ "Auflistung von Telefonen, die SVG unterstützen". Svg.org. Archiviert von das Original Am 8. Januar 2010. Abgerufen 24. Oktober 2010.
- ^ Concolato, Cyril (Juli 2005). "MPEG-4 Laser White Paper". Internationale Standardisierungsorganisation. Abgerufen 29. August 2010.
- ^ "ISO/IEC 14496-20: 2008-Informationstechnologie-Codierung von audiovisuellen Objekten-Teil 20: Leichte Anwendungsszenenrepräsentation (Laser) und einfaches Aggregationsformat (SAF)". Internationale Standardisierungsorganisation. Abgerufen 30. Oktober 2009.
- ^ "Laser - Der MPEG -Standard für Rich Media Services" (PDF). Abgerufen 11. April 2010.
- ^ Chiariglione, Leonardo (8. März 2005). "Reiten der Medienbits - Bits und Bytes". Archiviert von das Original am 25. September 2010. Abgerufen 30. Oktober 2009.
- ^ "SVG -Spezifikation" Pfade "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation" Basic Formen "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Text "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation", Malerei: Füllung, Streichel- und Markierungssymbole "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Farbe "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation" Gradienten und Muster "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "IRC-Protokoll von SVG am 2008-11-17". W3c. 2008. Abgerufen 25. Mai 2009.
DS: Prioritäten sollten Layout, Diffusionskurven, 2,5D sein und sicherstellen, dass wir gut mit CSS daran arbeiten
- ^ "Aussagen für die nächste SVG -Spezifikation". W3c. 16. März 2009. Abgerufen 25. Mai 2009.
In der Tat planen wir, SVG in der nächsten Version neue Gradientenfunktionen hinzuzufügen, und wir befassen uns mit Diffusionskurven, die meiner Meinung nach Ihren Bedürfnissen erfüllen werden ... * Diffusionskurven * scheint wirklich eine großartige Idee zu sein.
- ^ Rusin, Zack (2008). "SVG in KDE: Schönheitsfreiheit". SVG offen. Abgerufen 25. Mai 2009.
- ^ Orzan, Alexandrina; Bousseau, Adrien; Winnemöller, Holger; Barla, Pascal; Thollot, Joëlle; Salessin, David (2008). "Diffusionskurven: Eine Vektordarstellung für glattschattierte Bilder" (PDF). ACM -Transaktionen auf Grafiken. 27. doi:10.1145/1360612.1360691. Abgerufen 25. Mai 2009.
- ^ "Skalierbare Vektorgrafiken (SVG) 2, W3C -Redakteur 13. Juni 2013". Svg Wg. 2013. Abgerufen 17. September 2013.
- ^ "SVG -Spezifikation", Clipbing, Maskieren und Kompositing "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation" Filtereffekte "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Interaktivität "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Verknüpfung "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation" Skripting "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation" Animation "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Schriftarten "". World Wide Web Konsortium. 14. Januar 2003. Abgerufen 19. Oktober 2009.
- ^ "SVG -Spezifikation," Metadaten "". World Wide Web Konsortium. Abgerufen 19. Oktober 2009.
- ^ Stanescu, Bogdan; Sarapata, John (31. August 2010). "Google nennt jetzt SVG". Webmaster Central Blog. Google Inc. Abgerufen 1. September 2010.
- ^ "Google Bilder". Google, Inc. 8. Dezember 2010. Abgerufen 17. Februar 2011.
- ^ Singhal, Amit (11. Februar 2011). "Diese Woche in der Suche 2/11/11". Google Inc. Abgerufen 17. Februar 2011.
- ^ Streichardt, Andreas (16. September 2003). "Kde erobert die Vektoren mit KSVG". KDE News. Abgerufen 11. Februar 2012.
- ^ "Bug 276431 - externes SVG nicht aus IMG -Tag geladen". Mozilla.
{{}}
: Journal zitieren erfordert|journal=
(Hilfe) - ^ Lusotec (25. Februar 2009). "SVG -Bild nicht von Firefox gezeigt". Mozilla.dev.tech.svg. Google -Gruppen. Abgerufen 25. Februar 2010.
- ^ Brettz9 (25. August 2008). "SVG in HTML EINLEITUNG". Mozilla Developer Center. Mozilla. Archiviert von das Original am 5. Dezember 2008. Abgerufen 25. Februar 2010.
- ^ Svensson, Peter (10. September 2008). "Schöpfer von Web entdeckt einen Fehler im Internet Explorer". NBC News. Associated Press. Abgerufen 25. Februar 2010.
- ^ "SVG in Firefox". Mozilla Developer Center. Mozilla. 23. Oktober 2009. Abgerufen 25. Februar 2010.
- ^ "Mozilla SVG Status". Mozilla. Abgerufen 25. Februar 2010.
- ^ MGJBOT (15. Januar 2008). "SVG -Verbesserungen in Firefox 3". Mozilla Developer Center. Mozilla. Abgerufen 25. Februar 2010.
- ^ "Webkit SVG -Status". Webkit. 5. Januar 2010. Abgerufen 25. Februar 2010.
- ^ "Windows Internet Explorer 8 Expertenzonen -Chat (19. Juni 2008)". Microsoft. 19. Juni 2008. Abgerufen 24. Oktober 2010.
- ^ Schiller, Jeff (13. Februar 2010). "SVG -Unterstützung". Abgerufen 25. Februar 2010.
- ^ "Was ist neu im Internet Explorer 9". Microsoft Developer Network. Microsoft. 22. März 2011. Abgerufen 22. März 2011.
- ^ "SVG (Windows)". Internet Explorer Dev Center. Microsoft. Abgerufen 27. August 2014.
- ^ "Microsoft Edge Web Platform bietet Status und Roadmap - Microsoft Edge -Entwicklung". Entwickler.microsoft.com. Abgerufen 19. April 2018.
- ^ "Machen Sie sich bereit für ein kostenloses Surfen des Plug-in". Msdn. 2014. Abgerufen 5. März 2014.
- ^ "SVG Open 2005 Konferenz und Ausstellung - Verfahren - Cartoon -orientierte Benutzeroberflächen". svgopen.org. Abgerufen 29. August 2010.
- ^ "Browser macht keine SVG -Bilder". Abgerufen 1. Januar 2011.
- ^ "Firefox Mobile 4.0b2 (Beta) für Android unterstützt SVG -Bilder". Android Ausgabe 1376. 16. Dezember 2010. Abgerufen 29. Januar 2014.
- ^ "Unterstützung für SVG". RAND. Abgerufen 6. Oktober 2011.
- ^ "Blackberry Torch der HTML5 -Entwickler Scorecard". Sencha. Abgerufen 6. Oktober 2011.
- ^ "S60 Produktinformationen". S60.com. Archiviert von das Original am 13. Oktober 2007. Abgerufen 19. Oktober 2009.
- ^ Jezic, Damir (15. bis 17. Juli 2002). "SVG für eingebettete Systeme". Zürich 2002. svgopen.org. Abgerufen 5. April 2012.
- ^ "ESVG". Intelligente eingebettete Intelliness -Software. 2010. Abgerufen 29. Januar 2014.
- ^ Selinger, Peter (2001–2013). "Potrace - Bitmaps in Vektorgrafiken verwandeln". SourceForge Projekt Potrace. Abgerufen 29. Januar 2014.
- ^ "Was ist neu in Powerpoint für Microsoft 365". Support.microsoft.com. September 2019. Archiviert vom Original am 13. März 2021. Abgerufen 17. April 2021.
Externe Links
- W3C SVG -Seite Spezifikationen, Liste der Implementierungen
- W3C SVG Primer W3C Primer (Entwurf) unter der Schusswechsel der SVG Interest Group