tame1 has asked for the wisdom of the Perl Monks concerning the following question:

I am making a site which needs to take text input in a textarea tag and create an image of that text,
with basic formatting (centering, etc.), using a True Type font (Ribbon 131BT Bold). This is on a
Linux system. I had thought to use GD.pm, but I am having some troubles working my way through the instructions.

Can anyone show me the code to do this?

What does this little button do . .<Click>;
"USER HAS SIGNED OFF FOR THE DAY"

Replies are listed 'Best First'.
RE: GD and a ttf for image making?
by mitd (Curate) on Nov 15, 2000 at 20:51 UTC
    1. get latest GD
    2. Make sure TT Font support is compiled into libgd.
    3. use GD::Image->stringTTF(....) method
    4. perldoc GD, docs are nice, docs are good go to the docs

    mitd-Made in the Dark
    'My favourite colour appears to be grey.'

RE: GD and a ttf for image making?
by t0mas (Priest) on Nov 15, 2000 at 20:56 UTC
    You can have a look at my ButtonFactory for some example code that prints a string on a button with tt fonts (doing some resizing stunts).

    Maybe it can help getting you started.

    /brother t0mas
RE: GD and a ttf for image making?
by tame1 (Pilgrim) on Nov 15, 2000 at 23:02 UTC
    I want to thank everyone for their help.

    I succeeded in making a test script.

    For those who care:

    #!/usr/local/bin/perl -w # just about all pulled directly from the POD # My problem was ttf support in libgd!!! # Yeah, I know - RTFM!!!! # Simple image creation script - hopefully use GD; use CGI qw(:standard); # create a new image $im = new GD::Image(400, 200); $query = new CGI; # allocate some colors $white = $im->colorAllocate(255,255,255); $black = $im->colorAllocate(0,0,0); $red = $im->colorAllocate(255,0,0); $blue = $im->colorAllocate(0,0,255); # make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); # Put a black frame around the picture $im->rectangle(0,0,399,199, $black); # Let's try a character and or string $im->string(gdSmallFont, 150, 100, "Text Test", $blue); $im->stringTTF($black,"/home/httpd/html/ribbon.ttf", 12, 0, 180, 120, +"Testing the ribbon font"); if ($@) { $im->string(gdSmallFont, 50, 150, "$@", $black); } #make sure we are writing to a binary stream binmode STDOUT; print $query->header(-type=>'image/png'); # print the image print $im->png;
    This time it worked like a charm!!
    Thanks all
    What does this little button do . .<Click>; "USER HAS SIGNED OFF FOR THE DAY"