NAME

Template::Plugin::GD::Text::Wrap - Break and wrap strings in GD images

SYNOPSIS

[% USE align = GD.Text.Wrap(gd_image); %]

EXAMPLES

[% FILTER null;
    USE gd  = GD.Image(200,400);
    USE gdc = GD.Constants;
    black = gd.colorAllocate(0,   0, 0);
    green = gd.colorAllocate(0, 255, 0);
    txt = "This is some long text. " | repeat(10);
    USE wrapbox = GD.Text.Wrap(gd,
     line_space  => 4,
     color       => green,
     text        => txt,
    );
    wrapbox.set_font(gdc.gdMediumBoldFont);
    wrapbox.set(align => 'center', width => 160);
    wrapbox.draw(20, 20);
    gd.png | stdout(1);
  END;
-%]

[% txt = BLOCK -%]
Lorem ipsum dolor sit amet, consectetuer adipiscing elit,
sed diam nonummy nibh euismod tincidunt ut laoreet dolore
magna aliquam erat volutpat.
[% END -%]
[% FILTER null;
    #
    # This example follows the example in GD::Text::Wrap, except
    # we create a second image that is a copy just enough of the
    # first image to hold the final text, plus a border.
    #
    USE gd  = GD.Image(400,400);
    USE gdc = GD.Constants;
    green = gd.colorAllocate(0, 255, 0);
    blue  = gd.colorAllocate(0, 0, 255);
    USE wrapbox = GD.Text.Wrap(gd,
     line_space  => 4,
     color       => green,
     text        => txt,
    );
    wrapbox.set_font(gdc.gdMediumBoldFont);
    wrapbox.set(align => 'center', width => 140);
    rect = wrapbox.get_bounds(5, 5);
    x0 = rect.0;
    y0 = rect.1;
    x1 = rect.2 + 9;
    y1 = rect.3 + 9;
    gd.filledRectangle(0, 0, x1, y1, blue);
    gd.rectangle(0, 0, x1, y1, green);
    wrapbox.draw(x0, y0);
    nx = x1 + 1;
    ny = y1 + 1;
    USE gd2 = GD.Image(nx, ny);
    gd2.copy(gd, 0, 0, 0, 0, x1, y1);
    gd2.png | stdout(1);
   END;
-%]

DESCRIPTION

The GD.Text.Wrap plugin provides an interface to the GD::Text::Wrap module. It allows multiples line of text to be drawn in GD images with various wrapping and alignment.

See GD::Text::Wrap for more details. See Template::Plugin::GD::Text::Align for a plugin that allow you to draw text with various alignment and orientation.

AUTHOR

Craig Barratt <craig@arraycomm.com>

The GD::Text module was written by Martien Verbruggen.

VERSION

1.53, distributed as part of the Template Toolkit version 2.12, released on 12 January 2004.

COPYRIGHT

Copyright (C) 2001 Craig Barratt <craig@arraycomm.com>

GD::Text is copyright 1999 Martien Verbruggen.

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

SEE ALSO

Template::Plugin, Template::Plugin::GD, Template::Plugin::GD::Text::Align, GD, GD::Text::Wrap