Templat...t::Wrap(3)
β¨ NAME β¨
Okay bestie, you're reading the Template::Plugin::GD::Text::Wrap(3) page, and it's giving break and wrap strings in GD images. That's the whole assignment. π
πΈ SYNOPSIS πΈ
The tiny invocation is:
[% USE align = GD.Text.Wrap(gd_image); %]
π EXAMPLES π
Example one β long text gets repeated and wrapped into a GD image, with color and centering happening:
[% 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;
-%]
Example two β this one follows the example in GD::Text::Wrap, except it creates a second image that is a copy just enough of the first image to hold the final text, plus a border:
[% 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 is basically the bridge to the GD::Text::Wrap module. It lets multiple lines of text be drawn into GD images with all kinds of wrapping and alignment. Literally the multitasker of text-in-image vibes. π
For the full lore, go read GD::Text::Wrap. And if you want a plugin that lets you draw text with various alignment and orientation, that's Template::Plugin::GD::Text::Align β go say hi. π¦
π AUTHOR π
Thomas Boutell wrote the GD graphics library. Iconic.
Lincoln D. Stein wrote the Perl GD modules that interface to it, and Martien Verbruggen wrote the GD::Text module. Slay.
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 π
Copyright (C) 2001 Craig Barratt <craig@arraycomm.com>, 2006 Andy Wardley <abw@cpan.org>.
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 π¦
Go peek at Template::Plugin::GD, Template::Plugin::GD::Text, and GD. They're all linked in the group chat. π
Cute sign-off: this manual page is from perl v5.42.0, dated 2017-10-08 β and the title, if you need it again, is Template::Plugin::GD::Text::Wrap(3). Now go forth and wrap those strings, bestie. πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-Template-GD 2.66-bp160.1.11 Β· Artistic-1.0 or GPL-1.0+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms