NAME

Template::Plugin::GD - GD plugin(s) for the Template Toolkit

SYNOPSIS

    [% USE GD;
     
       # create an image
       img = GD.image(width, height)

       # allocate some colors
       black = img.colorAllocate(0,   0,   0);
       red   = img.colorAllocate(255, 0,   0);
       blue  = img.colorAllocate(0,   0, 255);

       # draw a blue oval
       img.arc(50, 50, 95, 75, 0, 360, blue);

       # fill it with red
       img.fill(50, 50, red);

       # output binary image in PNG format
       img.png | redirect('example.png');
    %]

DESCRIPTION

The Template-GD distribution provides a number of Template Toolkit plugin modules to interface with Lincoln Stein's GD modules. These in turn provide an interface to Thomas Boutell's GD graphics library.

These plugins were distributed as part of the Template Toolkit until version 2.15 released in February 2006. At this time they were extracted into this separate distribution.

For general information on the Template Toolkit see the documentation for the Template module or http://template-toolkit.org. For information on using plugins, see Template::Plugins and "USE" in Template::Manual::Directives.

METHODS

The GD plugin module provides a number of methods to create various other GD objects. But first you need to load the GD plugin.

    [% USE GD %]

Then you can call the following objects against it.

image(width, height)

Creates a new GD::Image object.

    [% image = GD.image(100, 200) %]

polygon()

Creates a new GD::Polygon object.

    [% poly = GD.polygon;
       poly.addPt(50,0);
       poly.addPt(99,99);
       poly.addPt(0,99);
       image.filledPolygon(poly, blue);
    %]

text()

Creates a new GD::Text object.

    [%  text = GD.text;
        text.set_text('Some text');
    %]

GD PLUGINS

These are the GD plugins provided in this distribution.

Template::Plugin::GD

Front-end module to the GD plugin collection.

Template::Plugin::GD::Image

Plugin interface providing direct access to the GD::Image module.

    [% USE image = GD.Image %]

Template::Plugin::GD::Polygon

Plugin interface providing direct access to the GD::Polygon module.

    [% USE poly = GD.Polygon;
       poly.addPt(50,0);
       poly.addPt(99,99);
       poly.addPt(0,99);
       image.filledPolygon(poly, blue);
    %]

Template::Plugin::GD::Text

Plugin interface providing direct access to the GD::Text module.

    [%  USE text = GD.Text;
        text.set_text('Some text');
    %]

Template::Plugin::GD::Text::Align

Plugin interface to the GD::Text::Align module for creating aligned text.

Template::Plugin::GD::Text::Wrap

Plugin interface to the GD::Text::Wrap module for creating wrapped text.

Template::Plugin::GD::Graph::area

Plugin interface to the GD::Graph::area module for creating area graphics with axes and legends.

Template::Plugin::GD::Graph::bars3d

Plugin interface to the GD::Graph::bars3d module for creating 3D bar graphs with axes and legends.

Template::Plugin::GD::Graph::bars

Plugin interface to the GD::Graph::bars module for creating bar graphs with axes and legends.

Template::Plugin::GD::Graph::lines3d

Plugin interface to the GD::Graph::lines3d module for creating 3D line graphs with axes and legends.

Template::Plugin::GD::Graph::lines

Plugin interface to the GD::Graph::lines module for creating line graphs with axes and legends.

Template::Plugin::GD::Graph::linespoints

Plugin interface to the GD::Graph::linespoints module for creating line/point graphs with axes and legends

Template::Plugin::GD::Graph::mixed

Plugin interface to the GD::Graph::mixed module for creating mixed graphs with axes and legends.

Template::Plugin::GD::Graph::pie3d

Plugin interface to the GD::Graph::pie3d module for creating 3D pie charts with legends.

Template::Plugin::GD::Graph::pie

Plugin interface to the GD::Graph::pie module for creating pie charts with legends.

Template::Plugin::GD::Graph::points

Plugin interface to the GD::Graph::points module for creating point graphs with axes and legends

Template::Plugin::GD::Constants

Provides access to various GD constants.

    [% USE gdc = GD.Constants;
       font = gdc.gdLargeFont
    %]

AUTHORS

Thomas Boutell wrote the GD graphics library. Lincoln D. Stein wrote the Perl GD modules and Martien Verbruggen wrote the GD::Text and GD::Graph modules that interface with it. Craig Barratt wrote the GD plugins for the Template Toolkit. Andy Wardley wrote the Template Toolkit. Larry wrote Perl. Brian and Dennis wrote C. Dennis and Ken wrote Unix.

VERSION

This is version 2.66 of the Template::Plugin::GD module set.

COPYRIGHT

Copyright (C) 2001 Craig Barratt, 2006 Andy Wardley.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Template, Template::Plugins, GD