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


Template-GD documentation  | view source Contained in the Template-GD distribution.

Index


NAME

Top

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

SYNOPSIS

Top

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

EXAMPLES

Top

    [% 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

Top

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

Top

Thomas Boutell wrote the GD graphics library.

Lincoln D. Stein wrote the Perl GD modules that interface to it and Martien Verbruggen wrote the GD::Text module.

Craig Barratt <craig@arraycomm.com> wrote the original GD plugins for the Template Toolkit (2001).

Andy Wardley <abw@cpan.org> extracted them from the TT core into a separate distribution for TT version 2.15.

These modules are looking for a new maintainer. Please contact Andy Wardley if you are willing to help out.

COPYRIGHT

Top

SEE ALSO

Top

Template::Plugin::GD, Template::Plugin::GD::Text, GD (GD)


Template-GD documentation  | view source Contained in the Template-GD distribution.