1. Überblick Grafik-Dokumente

Dieser Überblick zeigt die Arbeit mit Grafik-Dokumenten. Ein Grafik-Dokument enthält eine oder mehrere Seiten. Die Seiten enthalten Diagramme, die wiederum Datensätze (Kurven) und Zeichenobjekte (z. B. Textfelder) enthalten. Es gibt also die hierarchische Ordnung:

  • Dokumente enthalten Seiten
  • Seiten enthalten Diagramme
  • Diagramme enthalten Datensätze und Zeichenobjekte
../../_images/_Overview-Graph.png

Falls Diagramme automatisch erzeugt werden sollen, werden die hier beschriebenen Funktionen normalerweise nicht verwendet. Man verwendet dazu die sogenannten batch-Funktionen (siehe Überblick Automatisierung der Diagrammerstellung). Die hier beschriebenen Funktionen sind die Basis-Funktionen, auf denen die Batch-Funktionen aufbauen.

In den folgenden Abschnitten soll an Beispielen die Verwendung der Funktionen gezeigt werden.

1.1. Laden eines Dokuments von der Festplatte

Mit der Funktion DocCreate werden Dateien von der Festplatte gelesen und in UniPlot geöffnet. Die Funktion wird auch dazu verwendet neue Dokumente zu erzeugen.

Beispiel

Der folgende Funktionsaufruf lädt die Datei Sample.ipw von der Festplatte.

hDoc = DocCreate("c:/UniPlot/Samples/Sample.ipw")

Die Funktion gibt eine Zahl zurück (hDoc) mit der weitere Funktionen auf das Dokument zugreifen können. Diese Zahl wird als Handle (sprich händel) oder Zugriffsnummer bezeichnet. Falls ein Fehler beim Aufruf der Funktion DocCreate aufgetreten ist, hat hDoc den Wert 0. Falls die Funktion erfolgreich ausgeführt werden konnte, ist hDoc eine ganze Zahl größer als 0. Gültige Zugriffsnummern sind immer größer als 0.

Beispiel

Der folgende Funktionsaufruf schließt das Dokument Sample.ipw wieder.

DocDestroy(hDoc)

Die Datei wird dabei nicht von der Festplatte gelöscht, sondern nur aus dem Speicher. Die Funktion DocDestroy löscht dabei auch alle Objekte, die in dem Dokument enthalten sind, also alle Seiten, Diagramme, Datensätze und Zeichenobjekte.

1.2. Dokumente und Seiten

Es soll nun eine Funktion geschrieben werden, die die Seiten in einem Dokument als Windows-Metadateien (WMF-Datei) speichert. WMF-Datei können z. B. in die Dokumente der meisten Textverarbeitungsprogramme eingefügt werden.

Beispiel

def SaveAsWMF(hDoc)
{
    nPages = DocGetPageCount(hDoc);
    ssFileName = DocGetPathName(hDoc);
    if (ssFileName == "") {
        error("You must save the document first");
    }
    ssPath = sum(SplitPath(ssFileName)[1:2]);
    nSaved = 0;
    for (i in 1:nPages) {
        hPage = DocGetPageHandle(hDoc, i);
        ssTitle = PageGetTitle(hPage);
        ssFile = ssPath + ssTitle + ".WMF";
        if (PageSaveAsMetafile(hPage, ) == FALSE) {
            Event_Warning("SaveAsWMF", sprintf("Can't save %s", ssFile));
            break;
        }
        nSaved = nSaved + 1;
    }
    return nPages;
}

Beispiel

hDoc = DocCreate("c:/UniPlot/Samples/Sample.ipw")
SaveAsWMF(hDoc)

1.3. Diagramme und Datensätze

Beispiel

hDoc = DocCreate()
hPage = PageCreate()
DocAddPage(hDoc, hPage)
hLayer = LayerCreate()
PageAddLayer(hPage, hLayer)
x = [1, 2, 3]
y = [1, 5, 2]
hData = XYCreate("sample", x, y)
LayerAddDataset(hLayer, hData)
PageReplot(hPage)