ISSB - Produkte Home Service News Suchen Kontakt
WebsiteLoader
AutoDownload Server
Reisebüro - Infosystem
Chat Server
Rascon
SetRedirect
TextHelper
Produkte
 
Home
Service
Infos
Suche
Kontakt

SvgCom Komponente für Windows- 95/98, NT, ME und 2000

ISSB SvgCom (SVG: Scalable Vector Graphics) ist eine ActiveX-Komponente, mit der sich SVG-Grafiken erstellen und manipulieren lassen. 

Die Funktionalität erstreckt sich nicht über die gesamte Vielfalt und Leistungsfähigkeit von SVG. Es werden nur einige SVG-Elemente, wie z. B. Rect, Line, Circle, Ellipse, Polyline und Polygon unterstützt. Tags, wie desc, title und text können durch entsprechende Methoden in die SVG-Grafik an entsprechende Positionen eingefügt werden. SVG-Elemente können mit der Methode RemoveSvgElement entfernt werden. SVG-Elemente können gruppiert oder einer Gruppe hinzugefügt werden. Jedem neu erstellten SVG-Element können zusätzliche Attribute übergeben werden.

Beliebige andere SVG-Elemente können mit der Methode InsertSvgElement in die SVG-Datei eingefügt werden. Hierbei müssen die in W3C -> SVG-Elemente angegebenen Spezifikationen als Attribute angegeben werden.

Eine ausführliche Beschreibung ist bei www.w3c.org unter SVG zu finden. Mögliche Attribute und Angaben zu Maßeinheiten und Datentypen liegen unter http://www.w3.org/TR/SVG/struct.html und http://www.w3.org/TR/SVG/types.html.

Die clientseitige Anzeige wurde nicht implementiert. Die Komponente kann lediglich zur Erstellung und Manipulation von SVG-Dateien genutzt werden. Als SVG-Viewer kann z. B. MS Internet Explorer der aktuellen Version genutzt werden.

Objekterstellung der SvgCom-Komponente

in ASP-Seiten

Set obj = Server.CreateObject("ISSB.SvgGraphic")

' Zerstörung
Set obj = Nothing

im C++ Client

#import "[dir\]SvgCom.dll"

ISvgGraphicPtr m_pSvg;
if (SUCCEEDED(m_pSvg.CreateInstance("ISSB.SvgGraphic")))
{
 // Nutzung der Methoden und Eigenschaften
 m_pSvg->Methode
}
else
 // Fehler, Komponente konnte nicht erzeugt werden!

// Zerstörung
m_pSvg = NULL;

Methoden

  • string CreateSvgNumberWithUnit (double Number, string Unit)
    Generiert eine Maßangabe der in www.w3c.org vorgeschriebenen Form und gibt sie als String zurück. Unit ist optional und entspricht der Maßeinheit z. B. cm, pt oder px. 
    Aus den Übergabeparametern Number: 13.22700000 und Unit: "cm" generiert die Methode die Zeichenfolge 13.227cm.
    Aus den Übergabeparametern Number: 000.22700000 und keine Angabe in Unit generiert die Methode die Zeichenfolge .227.
     
  • long GetSvgElementCount()
    Gibt die Anzahl geladener SVG-Elemente an, die in einer internen Indexliste aufgenommen wurden.
     
  • InsertSvgCircle (CX, CY, R, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt einen SVG-Kreis in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. Der Kreis wird an die Position CX, CY mit Radius R eingefügt. CX, CY und R können Gleitkommazahlen mit und ohne Maßeinheiten sein.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das der Kreis eingefügt wird.
     
  • InsertSvgDesc (string Text, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt einen desc-Tag in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das der desc-Tag eingefügt werden soll.
    Ein desc-Tag wird immer an Index 0 der angegebenen Gruppe oder der SVG-Hauptgruppe eingefügt.
     
  • InsertSvgElement (string Name, string Attributes, string InnerText, string InsToSvgElemWithName, string InsToSvgElemWithID, long Index)
    Fügt ein beliebiges SVG-Element in die SVG-Datei ein. 
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das das Element eingefügt wird.
    Der Parameter Index ist 0-basierend und ebenfalls optional und gibt die Stelle an, an der das Element in der angegebenen Gruppe platziert werden soll. Standardwert ist -1. Bei Angaben kleiner 0 wird das Element hinter das letzte Element dieser Gruppe eingefügt.
    Wird keine Gruppe und/oder keine ID angegeben, wird das neue Element in die SVG-Hauptgruppe eingefügt.
     
  • InsertSvgEllipse (CX, CY, RX, RY, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt eine SVG-Ellipse in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. Die Ellipse wird an die Position CX, CY mit X-Radius RX und Y-Radius RY eingefügt.  CX, CY, RX und RY können Gleitkommazahlen mit und ohne Maßeinheiten sein.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das die Ellipse eingefügt wird.
     
  • InsertSvgGroup (string ID, string Ext Attributes, string InnerText, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt eine SVG-Gruppe in die SVG-Datei ein. 
    Der Parameter ID gibt eine eindeutige ID (Zahl oder string) an. Es kann eine leere Zeichenfolge übergeben werden. Um die Gruppe eindeutig zu identifizieren und wiederzufinden, sollte aber eine ID angegeben werden.
    Die Angabe ExtAttributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das das Group-Element eingefügt wird.
     
  • InsertSvgLine (X1, Y1, X2, Y2, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt eine SVG-Linie in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Die Linie wird an von Position X1, Y1 zur Position X2, Y2 gezogen. X1, Y1, X2 und Y2 können Gleitkommazahlen mit und ohne Maßeinheiten sein.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das die Linie eingefügt wird.
     
  • InsertSvgPolygon (string Points, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt ein geschlossenes SVG-Vieleck in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Die in Points angegebenen Punkt-Paare werden in der Form "100,110 200,130 220,140" oder "100.23cm,110.45cm 200.21cm,130.67cm" angegeben. Ein Punktpaar wird durch Komma getrennt. Aufeinanderfolgende Punktpaare werden durch Leerzeichen getrennt. Es können Gleitkommazahlen (mit Punkt getrennt) mit und ohne Maßeinheiten angegeben werden.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das das Vieleck eingefügt wird.
     
  • InsertSvgPolyline (string Points, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Diese Methode verhält sich analog zu InsertSvgPolygon. Hierbei werden aber Punkte angegeben, die eine Mehrpunktlinie ergeben. Es wird kein geschlossenes Vieleck dargestellt. Anfangs- und Endpunkt können auf verschiedenen Positionen liegen.
     
  • InsertSvgRect (X, Y, Width, Height, RX, RY, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt ein SVG-Rechteck in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Das Rechteck wird an von Position X, Y mit Breite Width und Höhe Height positioniert. 
    Bei Angabe der optionalen Parameter RX und/oder RY werden die Ecken mit angegebenen Radius abgerundet.
    X, Y, Width, Height, RX und RY können Gleitkommazahlen mit und ohne Maßeinheiten sein.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das das Rechteck eingefügt wird.
     
  • InsertSvgText (string Text, X, Y, FontSize, string FontFamily, string ExtAttributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt einen SVG-Text in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    X, Y und FontSize können Gleitkommazahlen mit und ohne Maßeinheiten sein und sind optional.
    Der Parameter FontFamily ist ebenfalls optional und gibt die Schriftart an.
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das der Text eingefügt werden soll.
      
  • InsertSvgTitle (string Text, string Attributes, string InsToSvgElemWithName, string InsToSvgElemWithID)
    Fügt einen title-Tag in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Die Angabe Attributes ist optional und gibt zusätzliche Attribute an. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind ebenfalls optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das der title-Tag eingefügt werden soll.
    Ein title-Tag wird immer an Index 0 der angegebenen Gruppe oder der SVG-Hauptgruppe eingefügt.
     
  • InsertXmlComment (string Comment, string InsToSvgElemWithName, string InsToSvgElemWithID, long Index)
    Fügt einen Kommentar in die in InsToSvgElemWithName angegebene Gruppe oder an das Ende der SVG-Datei ein. 
    Die Parameter InsToSvgElemWithName und InsToSvgElemWithID sind optional und geben bei InsSvgElemWithName: g die Gruppe oder andernfalls ein beliebiges Element an, in die/das der title-Tag eingefügt werden soll.
    Index ist optional und gibt die Stelle an, an der der Kommentar eingefügt wird. Standardwert ist -1. Bei Werten kleiner 0 wird der Kommentar an die letzte Stelle der angegebenen Gruppe oder der SVG-Hauptgruppe angefügt.
     
  • long Load (string Filename)
    Lädt die in Filename angegebene SVG-Datei und gibt die Anzahl gelesener Daten in Bytes zurück.
     
  • long RemoveSvgElement (string Name, string ID, bool FirstOnly)
    Entfernt das in Namen und/oder ID angegebene SVG-Element. Bei FirstOnly: True wird nur das erste gefundene Element entfernt, ansonsten alle. FirstOnly ist optional. Der Standardwert ist False.  
  • long Save (string Filename)
    Speichert die SVG-Datei unter in Filename angegebene Dateinamen und gibt die Anzahl geleschriebener Daten in Bytes zurück.
     

Eigenschaften

  • string SvgAttributes string
    Gibt zusätzliche Attribute des SVG-Hauptelementes an. Diese Attribute werden in den SVG-Tag <svg ... attr> eingefügt. Eine Änderung der Attribute wird nur bei Neuerstellung einer SVG-Grafik wirksam.
     
  • string SvgContentType
    gibt den SVG-Content-Typ als festen Wert an. Wert ist "image/svg+xml". Dieser Wert kann nur gelesen werden.
     
  • string,double SvgHeight string,double
    Gibt die Höhe der SVG-Grafik an. Dieses Attribut wird im SVG-Tag <svg height="9x" ...> eingefügt. Die Angabe erfolgt ohne den Attributnamen height= und kann als Gleitkommazahl mit und ohne Maßeinheit angegeben werden. Eine Änderung des Attributes wird nur bei Neuerstellung einer SVG-Grafik wirksam.
     
  • string SvgSource string
    Gibt den Quelltext der SVG-Grafik an. Es kann ein völlig neuer gültiger Quelltext übergeben werden. Dabei werden alle evtl. vorher vorhandenen SVG-Elemente entfernt.
     
  • string,double SvgWidth string,double
    Gibt die Breite der SVG-Grafik an. Dieses Attribut wird im SVG-Tag <svg width="9x" ...> eingefügt. Die Angabe erfolgt ohne den Attributnamen width= und kann als Gleitkommazahl mit und ohne Maßeinheit angegeben werden. Eine Änderung des Attributes wird nur bei Neuerstellung einer SVG-Grafik wirksam.
     
  • string XmlDocType string
    Gibt den XML-Dokument-Typ an. Standartwert ist <!DOCTYPE svg>
     
  • string XmlHeader string
    Gibt den XML-Header an. Standartwert ist <?xml version="1.0" standalone="yes"?>
     

ASP-Beispiel

Im Beispiel wird eine neue SVG-Grafik erzeugt, als Datei gespeichert und im Browser angezeigt.

SvgTest.asp

<%
Set
oSvg = Server.CreateObject("ISSB.SvgGraphic")
' lBytes = oSvg.Load("c:\temp\test.svg")
oSvg.SvgWidth = "8cm"
oSvg.SvgHeight = "8cm"
oSvg.InsertSvgTitle "Testtext"
oSvg.InsertSvgText "Testtext", 50, 4 0, 20, "Arial", "fill=""red"""
oSvg.InsertSvgRect 20, 80, 250, 110, 20, "" , "stroke=""blue"""
oSvg.InsertSvgEllipse 140, 230, 100, 40, "fill=""green"""
oSvg.InsertSvgLine 10, 10, 280, 280, "stroke=""yellow"" stroke-width=""6"""
oSvg.Save "c:\temp\test2.svg"
' Inhalt kann auch ausgegeben werden, ohne dass die Datei gespeichert wird
Response.ContentType = oSvg.SvgContentType
Response.Write oSvg.SvgSource
Set oSvg = Nothing
%>

Ergebnis testen...

Installation

  • Komponente laden... (Bitte nur laden und installieren, wenn Sie die Nutzungsbedingungen gelesen haben.)
  • Komponente auspacken und die Datei SvgCom.dll in ein beliebiges lokales Verzeichnis kopieren...
  • regsvr32 [komponenten-dir]\SvgCom.dll ausführen...
    komponenten-dir ist das Verzeichnis, in der sich die DLL befindet.

Deinstallation

Um die Komponente zu deinstallieren, muss der Webserver (MS IIS) beendet werden. Den Webserver kann man im Dienste-Manager beenden. Dazu muss der IIS-Administrationsdienst beendet werden. Ein "Anhalten"-Klick im Webserver-Manager (MS MMC) reicht nicht aus.

Die Komponente wird mit regsvr32 [komponenten-dir]\SvgCom.dll /u aus dem System entfernt.

Sie kann danach einfach aus dem Verzeichnis gelöscht werden.

[SvgCom Komponente herunterladen


© 2003 ISSB. Alle Rechte vorbehalten.