Template::Plugin::GD::Text::Wrap3pm
Break and wrap strings in gd images
Usage
[% 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 doloremagna 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;-%]
Overview
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.
Releases
13 releases since Debian 3.0 (Woody); the text changed 5 times.