Draw( ) — annotate an image with graphic primitives


$image->Draw(primitive=>{Point, Line, Rectangle, FillRectangle, Circle,
                               FillCircle, Polygon, FillPolygon, Color, Matte,
                               Text, Image, @filename},
                method={Point, Replace, Floodfill, Reset},

The Draw( ) method allows you to draw anywhere on an image with one of many graphics primitives. An example is shown in Chapter 5. The points parameter indicates the position to start drawing and must be a string of one or more coordinates, depending on the primitive being used. A coordinate string can look like any of these:

"3,5"                       # a single point
"10,10 20,20"               # two coordinates for a line, rectangle or circle
"40,40 80,80 50,80 90,40"   # four points for a polygon

Choose one of the following primitive types:


Draws a point at the single specified coordinate.


Use Color to change the color of a pixel or area of pixels. This primitive takes a single coordinate for points, a color for pen, and one of the following methods:

  • Point: Re-colors the pixel with the pen color

  • Replace: Re-colors any pixel that matches the color of the pixel at given coordinate with the pen color

  • Floodfill: Re-colors any pixel that matches the color of the pixel and is a neighbor of the given coordinate. This can be thought of as the Paintbucket method.

  • Reset: Re-colors all the pixels in the image with the pen color

Figure 5-5. $image->Draw(primitive=>'Color', points=>’55,50', method=>'Floodfill', ...

Get Programming Web Graphics with Perl and GNU Softwar now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.