The draw tools annotates your image with one or more graphic primitives.

Choose from these graphic primitives:


Point and line each require a single coordinate. Line requires a start and end coordinate, while rectangle expects an upper left and lower right coordinate. roundRectangle has a center coordinate, a width and height, and the width and height of the corners. Circle has a center coordinate and a coordinate for the outer edge. Use Arc to circumscribe an arc within a rectangle. Arcs require a start and end point as well as the degree of rotation (e.g. 130,30 200,100 45,90). Use Ellipse to draw a partial ellipse centered at the given point, specified width and height, and start and end of arc in degrees (e.g. 100,100 100,150 0,360). Finally, polyline and polygon require three or more coordinates to define its boundaries. Coordinates are integers separated by an optional comma. For example, to define a circle centered at 100,100 that extends to 150,150 use:

  100,100 150,150

An equivalent format is

  +100+100 +150+150

Paths represent an outline of an object which is defined in terms of moveto (set a new current point), lineto (draw a straight line), curveto (draw a curve using a cubic bezier), arc (elliptical or circular arc) and closepath (close the current shape by drawing a line to the last moveto) elements. Compound paths (i.e., a path with subpaths, each consisting of a single moveto followed by one or more line or curve operations) are possible to allow effects such as "donut holes" in objects.

You also have the option of setting the primitive color, line width, x and y translation, degree of rotation, or fill the interior of the primitive.