Die Klasse CairoSurface (gb.cairo) ist die Elternklasse der u.a. CairoSurface-Klassen.
Surface wird aufgefasst als Oberfläche oder auch nur als Fläche zum Zeichnen oder als Objekt, auf dem gezeichnet werden kann. Dabei repräsentiert die Klasse CairoPdfSurface eine PDF-Datei, CairoPsSurface eine PostScript-Datei und CairoSvgSurface eine SVG-Datei, deren Inhalt eine skalierbare Vektorgrafik ist. Die drei Klassen CairoPdfSurface, CairoPsSurface und CairoSvgSurface verfügen über alle Eigenschaften und Methoden der Eltern-Klasse CairoSurface.
Die Klasse CairoSurface verfügt über drei Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Path | String | Gibt den Pfad der generierten Datei zurück. |
Resolution | Float | Gibt die Auflösung der Oberfläche zurück oder setzt die Standard-Auflösung mit 300 Pixel/Inch. |
Status | Integer | Überprüft, ob ein Fehler für die benutzte Oberfläche beim Zeichnen auftrat und gibt dann den Fehlerstatus zurück. |
Tabelle 25.1.9.2.1 : Eigenschaften der Klasse CairoSurface
Einen Überblick zu den möglichen Status-Werten finden Sie in der Übersicht der Konstanten für die Klasse Cairo unter dem Link → http://gambaswiki.org/wiki/comp/gb.cairo/cairo.
Die Klasse CairoSurface hat diese beiden Methoden:
Methode | Rückgabetyp | Beschreibung |
---|---|---|
Finish ( ) | - | Diese Funktion schließt alle Operationen zum Zeichnen auf der Oberfläche ab und befreit alle Referenzen auf externe Ressourcen. |
Save ( Path As String ) | Integer | Speichert den Inhalt der Zeichenfläche als PNG-Datei im angegebenen Datei-Pfad. Die Funktion gibt eine ganze Zahl zurück – im Erfolgsfall eine Null. |
Tabelle 25.1.9.3.1 : Methoden der Klasse CairoSurface
Nur die Klasse CairoPdfSurface besitzt die zusätzliche Methode CairoPdfSurface.Resize(..). Sie ändert die Größe einer PDF-Oberfläche für die aktuelle und weitere Seiten:
CairoPdfSurface.Resize ( Width As Float, Height As Float )
Diese Funktion sollte nur aufgerufen werden, bevor Zeichenoperationen auf der aktuellen Seite durchgeführt werden. Rufen Sie bei Bedarf diese Funktion sofort nach dem Erzeugen der Oberfläche oder unmittelbar nach Abschluss einer Seite (Cairo.ShowPage oder Cairo.CopyPage) auf.
Eine neue Oberfläche CairoPdfSurface können Sie so generieren:
Dim hCairoPdfSurface As CairoPdfSurface hCairoPdfSurface = New CairoPdfSurface (Path As String,Width As Float,Height As Float [,Version As String])
Es wird eine PDF-Oberfläche mit den angegebenen Größe in Millimetern erzeugt:
So wird eine neue Oberfläche CairoSvgSurface erzeugt:
Dim hCairoSvgSurface As CairoSvgSurface hCairoSvgSurface = New CairoSvgSurface ( Path As String, Width As Float, Height As Float [ , Version As String ] )
Es wird eine SVG-Oberfläche mit den angegebenen Größe in Millimetern erzeugt:
Ein neues CairoPsSurface-Objekt zum Zeichnen wird so generiert:
Dim hCairoPsSurface As CairoPsSurface hCairoPsSurface = New CairoPsSurface ( Path As String, Width As Float, Height As Float [ , Encapsulated As Boolean, Level As String ] )
Es wird eine PostScript-Oberfläche mit der angegebenen Größe generiert: