|  | Tutorial |  |

|  | Manual |  |

|  | Modules |  |

|  | Library |  |

|  | Tools |  |

|  | FAQ |  |

|  | Release |  |

| Template Toolkit | Modules | Template::Plugin::GD::Text::Wrap |

## Template::Plugin::GD::Text::Wrap

| Template::Plugin::GD::Text::Align

Template::Plugin::GD::Graph::lines |

Break and wrap strings in GD images

### Table of Contents

- SYNOPSIS
- EXAMPLES
- DESCRIPTION
- AUTHOR
- VERSION
- COPYRIGHT
- SEE ALSO

SYNOPSIS | [ Index ] [ Modules ] [ Top ]

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

EXAMPLES | [ Index ] [ Modules ] [ 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 | [ Index ] [ Modules ] [ 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 | [ Index ] [ Modules ] [ Top ]

Craig Barratt <craig@arraycomm.com> The GD::Text module was written by Martien Verbruggen.

VERSION | [ Index ] [ Modules ] [ Top ]

1.56, distributed as part of the Template Toolkit version 2.14, released on 04 October 2004.

COPYRIGHT | [ Index ] [ Modules ] [ Top ]

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 | [ Index ] [ Modules ] [ Top ]

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

| Template::Plugin::GD::Text::Align

Template::Plugin::GD::Graph::lines |

| Tutorial |

| Manual |

| Modules |

| Library |

| Tools |

| FAQ |

| Release |

| http://www.template-toolkit.org/ |