in reply to Re^2: How to use Imager for text
in thread How to use Imager for text

Oops, I made a mistake in cut'n'pasting and got the wrong code. Try this, and make sure you have a "Generic.ttf"(just rename Arial.ttf")
#!/usr/bin/perl use warnings; use strict; use CGI::Carp qw(fatalsToBrowser); use Imager; my $img = Imager->new(xsize=>400,ysize=>300); $img->box(filled=>1, color=>"ffffff"); #fill the background color my $blue = Imager::Color->new("#0000FF"); my $font = Imager::Font->new( file => 'Generic.ttf', index => 0, color => $blue, size => 30, aa => 1); $img->string( font=>$font, text=>'This is a test string', x=>20, y=>70); $img->write(file=>"$0.jpg", type=>"jpeg") or die "Cannot write file: +", Imager->errstr;

I'm not really a human, but I play one on earth. flash japh

Replies are listed 'Best First'.
Re^4: How to use Imager for text
by bradcathey (Prior) on Oct 29, 2005 at 13:58 UTC

    Perfect zentara, thanks for correcting it. BTW, got it to work with .ttf fonts, but not the .dfont

    my $font = Imager::Font->new( file => 'Copperplate.dfont', type => 'ft2', index => 1, color => $blue, size => 30, aa => 1);

    did not work. Oh, well.


    —Brad
    "The important work of moving the world forward does not wait to be done by perfect men." George Eliot

      Are you seeing any errors creating the font, or in drawing the text?

      Which version of Imager are you using? If you're using 0.45 you don't need to set the type parameter.

      The following worked fine for me on both OS X and Debian stable (x86):

      #!perl -w use strict; use Imager; my $font_file = 'Copperplate.dfont'; my $img = Imager->new(xsize=>400, ysize=>300); $img->box(filled=>1, color=>'white'); my $font = Imager::Font->new(file=>$font_file, index=>1, size=>40, color=>'444444') or die "Cannot load $font_file(1): ", Imager->errstr, "\n"; $img->string(font=>$font, text=>"This is a test string", x=>20, y=>50); $img->write(file=>'test.png') or die Imager->errstr;

      Which version of freetype are you using?