logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       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.

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.

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;
           -%]

Name

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

See Also

       Template::Plugin::GD, Template::Plugin::GD::Text, GD

perl v5.36.0                                       2022-08-28              Template::Plugin::GD::Text::Wrap(3pm)

Synopsis

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

See Also