Scalable Vector Graphics (SVG)



Ähnliche Dokumente
Scalable Vector Graphics. Ulrich Hoffmann

Scalable Vector Graphics (SVG)

SVG Skalierbare Vektorgrafiken im Netz

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

CSS. Cascading Stylesheets

DATENFORMATE IM INTERNET

5 Jahre Scalable Vector Graphics

Version 1 SVG. Scalable Vector Graphics. B.Wenk, HTW Chur. apple ibooks Author

Bildbearbeitung für Internet/Intranet. Christoph Runkel christoph runkel internetprojekte

Die XML-basierten Grafikformate SVG und XVL - eine Revolution der technischen Dokumentation?

Präsentation von Karten im Internet. Ein Vergleich der Vektorformate SVG und ActiveCGM

Online-Publishing mit HTML und CSS für Einsteigerinnen

19. Mai 2015 L A TEX. Grafiken. Prof. Dr. Alexander Braun // Wissenschaftliche Texte mit LaTeX // WS 2014/15

SVG. - Skalierbare Vektorgrafiken. Ein Überblick. Dr. Thomas Meinike Hochschule Merseburg (FH) Fachbereich Informatik und Kommunikationssysteme

Sachwortverzeichnis

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools


JPEG, PDF & Co. JPEG, PDF & Co. Theorie und Praxis zu Bildern auf Computern und Druckern

Web Datei Formate GIF JPEG PNG SVG. Einleitung. GIF Graphic Interchange Format. JPEG Joint Photographic Expert Group. PNG Portable Network Graphic

Format- oder Stilvorlagen

Gliederung. Grundlagen für SVG SVG. Scable Vector Graphics. grafische Datenverarbeitung XML

Transformation von RailML timetable Daten zu SVG mittels XSLT zur Darstellung von Zeit-Weg-Liniendiagrammen

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

Symbollinientypen einfacher erstellen

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Das Einsteigerseminar

Einführung Internettechnologien. - Clientseitige Programmierung -

Einfügen von Bildern innerhalb eines Beitrages

Übungsaufgaben zu XML:

Meine erste Homepage - Beispiele

Grundlagen von Corel Draw

Scalable Vector Graphics (SVG)

FileMaker Konferenz 2011 Hamburg Speed. Performance Optimierung für Ihre Lösung / Entwickler

AdOps Technische Spezifikationen

Allgemeines zu Datenbanken

Erweiterung eines SMIL Players für die Darstellung von Transparenzen und SVG Inhalten

Scalable Vector Graphics-basierte

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

Java und XML 2. Java und XML

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

SCRIBUS WORKSHOP Handout Gimp

Präsentation Von Laura Baake und Janina Schwemer

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

Installationsanleitung Adobe SVG Viewer

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Bilddateien. Für die Speicherung von Bilddaten existieren zwei grundsätzlich unterschiedliche Verfahren. Bilder können als

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

JASSI Standard Tasks Version 1.5

Autodesk AutoCAD Certified User Skills

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

XSL und XSLT. Inhalt. Mathias Heilig XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

Erstellen eines HTML-Templates mit externer CSS-Datei

08. übung. Illustrator. medienwerkstatt // seite 1

Grundwissen Informatik 6. Jahrgangsstufe

HEMAG-CAD Installationplan und Schemazeichnen

Graphikformate Ein kurzer Überblick

Dr. Klaus Körmeier BlueBridge Technologies AG

Datenaustauschformate. Datenaustauschformate - FLV

Visualisierung von Geodaten

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

20. DOAG-Konferenz. Flexible Berichtsgestaltung für die Oracle E-Business Suite mit dem Oracle BI Publisher

R002: CAP-Oberfläche statt VARIANTS im inforcom R7.1

Digitale Bilddateien

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Steganographie mit Rastergrafiken

Innovator 11. Design der Dokumentation ändern. Wie Sie die Dokumentation von Innovator Ihrer Corporate Identity anpassen. HowTo.

GEONET Anleitung für Web-Autoren

Technische Hintergründe des Web 2.0. Praxisprojekt Du bist das Netz! Web 2.0 Morten Strüwe, Florian Brachten

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Robert R. Agular Thomas Kobert. 5. Auflage HTML. Inklusive CD-ROM

Vorbereitung einer Grafik zum Druck einer Glotze aus, Stadion an! -Zaunfahne Torsten Bunde, Stand 5. Juli 2014

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

Java Script für die Nutzung unseres Online-Bestellsystems

Im Original veränderbare Word-Dateien

XML-Praxis. XML-Anwendungen. Jörn Clausen

SVG und SMIL Einführung und Überblick

Webseiten-Programmierung

Digitale Bildbearbeitung und Fotografie. Dozenten: Arne Scheffer

32.4 Anpassen von Menüs und Symbolleisten 795i

Metadaten bei der Digitalisierung von analogen archivalischen Quellen. Kathrin Mileta, Dr. Martina Wiech

Effiziente XML-Workflows mit Adobe InDesign

Die Arbeitsweise von Flash

HTML5. Die Zukunft mobiler geodatenbasierter Anwendungen? Dipl.-Inf. Steve Schneider. Fraunhofer-Institut für Fabrikbetrieb und -automatisierung IFF

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

TechCommToGo (DE) conbody section title TechCommToGo - so einfach wie Kaffee machen. / title / section. section p image / p

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Transkript:

Scalable Vector Graphics (SVG) ein XML-basierter Grafikstandard für 2D-Vektorgrafiken Dr. Thomas Meinike thomas.meinike@et.fh-merseburg.de Fachhochschule Merseburg Fachbereich Elektrotechnik, Informationstechnik und Medien Studiengang Kommunikation und Technische Dokumentation

Überblick Was ist SVG? XML auf einen Blick Aufbau von SVG-Dokumenten Vorteile und Einsatzgebiete Software mit SVG-Unterstützung Praktische SVG-Beispiele Zusammenfassung und Ausblick

Was ist SVG? SVG 1.0 ist eine im September 2001 verabschiedete W3C- Spezifikation zur Beschreibung von 2D-Vektorgrafiken in XML-Syntax (Entwicklung seit 1999, 1.1 in Arbeit). Dieses Format soll langfristig die gegenwärtig im Internet verwendeten Grafikformate ersetzen (GIF, JPEG, PNG). SVG ermöglicht das Erstellen strukturierter Dokumente und Verarbeitung im Umfeld anderer XML-Technologien. SVG-Dokumente lassen sich statisch und dynamisch generieren und relativ einfach in Server-seitige Anwendungen integrieren.

Vektor- vs. Pixelgrafik Pixelgrafiken bestehen aus den individuellen Bildpunkten, d. h. Rasterposition und Farbzuweisung (bei True Color 3 x 8 = 24 Bit (3 Bytes) für Rot-, Grün-, Blau-Werte). Beispiel: Kreis mit Durchmesser = 100 Pixel ergibt 10000 Pixel, als BMP ca. 30000 Bytes: in einem SVG-Dokument belegt dieser Kreis 50 Bytes: <circle cx= 50 cy= 50 r= 50 style= fill: red /> Vektorgrafiken beschreiben also nicht einzelne Pixel, sondern geometrische Elementarobjekte ( Primitive ). Daraus folgt beliebige und verlustfreie Skalierung.

SVG im Überblick

Warum XML? XML ist ein W3C-Standard zur Definition eigener Auszeichnungssprachen für strukturierte Dokumente mit Trennung zwischen Inhalt und Formatierung (Layout). Im Kontext mit anderen XML-Technologien wie XSLT, XPath, XLink und XPointer kann die Verarbeitung von XML-Daten universell und plattformunabhängig erfolgen. XSLT-Prozessor Beispiel XSLT: XML-Daten + XSL-Formatvorlage --> Output (Text, HTML, XML)

XML auf einen Blick Aufbau eines XML-Dokumentes <?xml version= 1.0 encoding= ISO-8859-1?> <!DOCTYPE wurzelelement [SYSTEM PUBLIC] doctype.dtd > <wurzelelement> <element1 attribut1= wert > <element2>inhalt</element2> </element1> <!-- weitere Unterelemente und Inhalte --> </wurzelelement>

Aufbau von SVG-Dokumenten (1) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN "http://www.w3.org/tr/2001/rec-svg-20010904/ DTD/svg10.dtd"> <svg xmlns="http://www.w3.org/2000/svg"> <title>optionaler Titel</title> <desc>optionale Beschreibung</desc> <!-- weitere SVG-Inhalte --> </svg>

Aufbau von SVG-Dokumenten (2) Grafische Grundformen wie Rechteck, Kreis, Ellipse, Linie, Polylinie, Polygon: <rect x="..." y="..." width="..." height="..."/> <circle cx="..." cy="..." r="..."/> <ellipse cx="..." cy="..." rx="..." ry="..."/> <line x1="..." y1="..." x2="..." y2="..."/> <polyline points="x1,y1,...,xn,yn"/> <polygon points="x1,y1,...,xn,yn"/> Textinhalte: <text x="..." y="...">textinhalt</text>

Aufbau von SVG-Dokumenten (3) Formatierung über Stylesheets (CSS) roter Kreis mit blauem Rand der Stärke 2 Pixel: <circle cx="100" cy="200" r="50" style="fill: #FF0000; stroke: #0000CC; stroke-width: 2px"/> grüner Text, 14 Pixel hoch in der Schriftart Arial: <text x="20" y="50" style="fill: #009900; font-family: Arial, Helvetica, sans-serif; font-size: 14px">Text in SVG</text> interne bzw. externe Stylesheet-Definitionen (z. B. Klassen): <defs><style type="text/css"> <![CDATA[ /* CSS-Definitionen */ ]]> </style></defs> <?xml-stylesheet href="styles.css" type="text/css"?>

Aufbau von SVG-Dokumenten (4) Pfade (Kurvenzüge, Bögen) elliptischer Bogen: <path d="m 200,200 L 200,100 A 100,100 0 0,1 289,154 Z" style="fill: #FFFF00"/> [M: moveto, L: lineto, A: elliptical arc, Z: closepath] Animationen Rechteckbreite erreicht innerhalb von 10 Sekunden 180 Pixel: <rect x="600" y="360" width="0" height="20 style="fill: #F00;"><animate attributetype="xml" attributename="width" begin="0s" dur="10s" fill="freeze" from="0" to="180"/></rect>

Aufbau von SVG-Dokumenten (5) Gradienten (lineare und radiale Farbverläufe) <defs> <lineargradient id="lingra1"> <stop offset="0%" style="stop-color: #000"/> <stop offset="50%" style="stop-color: #00F"/> <stop offset="100%" style="stop-color: #FFF"/> </lineargradient> </defs> <rect x="400" y="70" width="180" height="30" style="fill: url(#lingra1)"/> Filter (u. a. bekannt aus Adobe Photoshop/Illustrator) Filterelemente sind relativ komplex, z. B. fegaussianblur.

Aufbau von SVG-Dokumenten (6) Textlinks (ähnlich zu Links in HTML) <a xlink:href="http://ktd.et.fh-merseburg.de"> <text x="100" y="200" style="fill: #F00"> KTD-Website </text> </a> externe Bilder (ähnlich zu Bildern in HTML) <image x="300" y="400" xlink:href="einbild.jpg width="..." height="..."/>

Aufbau von SVG-Dokumenten (7) Gruppierung (Zusammenfassung von Objekten zu Gruppen) Transformationen (Rotation und Translation) Gruppe aus Rechteck und Text wird um -30 gedreht: <g transform="rotate(-30)"> <rect x="620" y="500 rx="10" ry="10" width="100" height="50 style="fill: none; stroke: #F00; stroke-width: 2px"/> <text x="635" y="537" style="font-size: 36px; fill: none; stroke: #00C; stroke-width: 1px">Textinhalt</text> </g>

Aufbau von SVG-Dokumenten (8) Einsatz von Scripts: Einbindung im <defs>...</defs>-bereich (auch externe Dateien möglich) Sprachumfang von JavaScript bzw. ECMAScript verwendbar Zugriff auf eigene Funktionen über Event-Handler wie in HTML <circle id="kreis1" cx="100" cy="200" r="50 style="fill: #FF0000; stroke: #0000CC; stroke-width: 2px" onmouseover="neuefarbe('kreis1','#ffff00') onmouseout="neuefarbe('kreis1','#ff0000')"/> function NeueFarbe(objid,fillcol) { var svgdoc, element; svgdoc=document.documentelement; element=svgdoc.getelementbyid(objid); element.getstyle().setproperty("fill",fillcol); }

Aufbau von SVG-Dokumenten (9) SVG-Einbindung in HTML: über das Element object mit Alternativinhalt (ggf. mittels embed) <object data="datei.svg" width="..." height="... type="image/svg+xml"> <p>zur Anzeige der Grafik wird der <a href= "http://www.adobe.com/svg/viewer/install/main.html"> SVG Viewer von Adobe</a> benötigt!</p> </object>

Vorteile und Einsatzgebiete Vorteile: hohe Auflösung/Qualität, Detailansicht durch Zoomen kleine(re) Dateigröße gegenüber Rastergrafiken dyn. Interaktivität durch Scripting, DOM-Integration auf jeder Plattform mit XML-Werkzeugen erstellbar [bei nativer Browser-Unterstützung] universell einsetzbar Einsatzgebiete: Kartografie Technisches Zeichnen / CAD, Illustration Messtechnik, Datenverarbeitung Cross-Media- bzw. Single-Source-Publishing auf XML-Basis wissenschaftlich-technische Anwendungen

Software mit SVG-Unterstützung Grafikprogramme: Adobe Illustrator Jasc WebDraw sphinx SVG MediaChance Real-DRAW PCX Software SVG Studio Tools: Adobe SVG Viewer (Browser-PlugIn) SVG maker ( Druckertreiber zur SVG-Ausgabe ) Batik SVG Toolkit (JAVA) SVG Composer Amaya (Editor/Browser vom W3C)

Adobe Illustrator 10

Jasc WebDraw 1.0x

Praktische SVG-Beispiele PHP-Funktionsbibliothek für Kreis- und Balkendiagramme Generierung von Massenspektren im SVG-Format Spektrendaten in MySQL-Datenbank PHP als Programmiersprache Datenverarbeitung auf der Basis von XML/XSLT Ausgabe wahlweise als Grafik oder Tabelle DB XML mspec_svg.xsl mspec_html.xsl XSLT Grafik (SVG) Tabelle (HTML)

SVG::PHP

MSpec::SVG

Zusammenfassung und Ausblick Grafiken im SVG-Format sind strukturierte XML-Dokumente. Daraus resultieren vor allem neue Möglichkeiten bei der Erstellung und Verarbeitung von Inhalten. Die erstellten Grafiken lassen sich wieder in die zugrunde liegenden Daten (z. B. Koordinaten) zurückführen und durchsuchen (wichtig für Suchmaschinen). Plattformunabhängige Entwicklungen auf der Basis offener bzw. freier Standards und Technologien sind im SVG-Umfeld realisierbar. Wichtiges Etappenziel ist eine verbesserte SVG-Unterstützung in den Web-Browsern.

Einige Online-Ressourcen zu SVG http://www.w3.org/graphics/svg/overview.html http://www.w3.org/tr/svg/ http://www.scale-a-vector.de http://www.jasc.com/products/webdraw/ http://www.adobe.com/svg/ http://xml.apache.org/batik/ http://www.mozilla.org/projects/svg/ http://www.styleassistant.de/tips/tms10ksvgdemo.htm (*) http://www.datenverdrahten.de/svgphp/ (*) http://ktd.et.fh-merseburg.de/~tm/mspec/ (*) (*) = Beispiele zum Vortrag http://www.zvon.org/xxl/svgreference/output/ http://dmoz.org/computers/data_formats/graphics/vector/svg/