http://onionworks.net/2006/imageservice/canvas

drawLines (canvas : nodeset, pointNavigator : nodeset, pen : nodeset) : void

Diese Methode ermöglicht das Zeichnen mehrerer Linien auf der Arbeitsfläche in einem Befehl. Der Pointnavigator für die Eckpunkte der Linien müssen in folgendem Schema erstellt werden. Es ist zu beachten, dass der Endpunkt der einen Linie automatisch der Startpunkt der Nächsten ist.

<xsl:variable name="points">
<point x="300" y="300" />
<point x="100" y="300" />
<point x="100" y="100" />
</xsl:variable>

In dem folgenden Beispiel werden mehrere Linien mit Hilfe der drawLines Methode in eine vorhandene Arbeitsfläche gezeichnet und anschließend in den Ausgabestrom geschrieben.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ise="http://onionworks.net/2006/imageservice/encoders" xmlns:isc="http://onionworks.net/2006/imageservice/commands" xmlns:iscan="http://onionworks.net/2006/imageservice/canvas" xmlns:is="http://onionworks.net/2006/imageservice" xmlns:b="http://onionworks.net/2004/renderengine/binary" xmlns:onion="http://onionworks.net/2004/data" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" indent="no" />
<xsl:template match="/resource">
<xsl:variable name="workspace" select="is:createWorkspace(@src, true())" />
<xsl:variable name="pen" select="is:createPen(is:createColor(255,255,255,255))" />
<xsl:variable name="points">
<point x="300" y="300" />
<point x="100" y="300" />
<point x="100" y="100" />
<point x="300" y="100" />
<point x="300" y="300" />
<point x="400" y="200" />
<point x="400" y="0" />
<point x="200" y="0" />
<point x="100" y="100" />
<point x="300" y="100" />
<point x="400" y="0" />
</xsl:variable>
<xsl:variable name="drawLines" select="iscan:drawLines(iscan:createCanvas($workspace),$points,$pen)" />
<xsl:variable name="doWrite" select="is:writeWorkspace($workspace, ise:createJpegEncoder(80))" />
<b:output mimeType="{picture/@onion:mimeType}">
<b:webResponse expires="60" />
</b:output>
</xsl:template>
</xsl:stylesheet>
Anwendungsbeispiel