#!/usr/bin/perl -w use strict; use GD; use GD::Text::Wrap; my $outfile = shift || "GDWrap.png"; my $gd = GD::Image->new(400,240); my $white = $gd->colorAllocate(255,255,255); my $black = $gd->colorAllocate( 0, 0, 0); my $blue = $gd->colorAllocate(127,127,255); my $red = $gd->colorAllocate(127, 0, 0); #print "No colours: $black ", $gd->colorsTotal, "\n"; my $text = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.'; my $wp = GD::Text::Wrap->new($gd, width => 180, line_space => 4, color => $black, text => $text, ); $wp->set(align => 'left'); $gd->rectangle($wp->get_bounds(10,10), $blue); $wp->draw(10,10); $gd->rectangle($wp->get_bounds(210,10), $blue); $wp->set(para_space => 5, preserve_nl => 1); $wp->set_font('Dustismo_Sans', 10); $wp->set(align => 'justified', line_space => 0); $wp->draw(210,10); $wp->set(para_space => 10, preserve_nl => 0); # Assume the user has set FONT_PATH or TTF_FONT_PATH #$wp->font_path('/usr/share/fonts/ttfonts'); $wp->set_font(['arial', 'Dustismo_Sans'], 10); $wp->set(align => 'right'); $gd->rectangle($wp->get_bounds(10,120), $blue); $wp->draw(10,120); $text =~ tr/\n//d; $wp->set(text => $text); $wp->set(colour => $white, align => 'center', line_space => 2); $wp->set_font(gdMediumBoldFont, 12); $gd->filledRectangle($wp->get_bounds(210,120), $red); $wp->draw(210,120); print "Writing $outfile\n"; open(GD, ">$outfile") or die "Cannot open '$outfile' for write: $!"; binmode GD ; print GD $gd->png(); close GD;