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

drawPolygon (canvas : nodeset, pointNavigator : nodeset, penorfill : nodeset) : void

Diese Methode ermöglicht das Zeichnen von einem Polygon in eine vorhandene Arbeitsfläche. Der Pointnavigator für die Eckpunkte muss in dem folgenden Schema angelegt werden.

Durch die Angabe eines Pens oder einen SolidFills kann gesteuert werden, ob die Fläche des Polygons gefüllt wird oder die Außenränder gezeichnet werden.

Der Pointnavigator ist eine XML Datei mit beliebig vielen Punkten. Diese Punkte werden durch das Tag <point> mit den Parametern x und y dargestellt. Im folgenden Beispiel wird ein Dreieck mit den Eckpunkten (300,300), (100,300) und (100,100) definiert.

<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 wird ein farblich gefülltes Quadrat in eine erstellte Arbeitsfläche gezeichnet.

<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="solidFill" select="is:createSolidFill(is:createColor(127,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" />
</xsl:variable>
<xsl:variable name="drawPolygon" select="iscan:drawPolygon(iscan:createCanvas($workspace),$points,$solidFill)" />
<xsl:variable name="doWrite" select="is:writeWorkspace($workspace, ise:createJpegEncoder(80))" />
<b:output mimeType="{@onion:src.mimeType}">
<b:webResponse expires="60" />
</b:output>
</xsl:template>
</xsl:stylesheet>
Zeichnen eines Quadrats