in reply to Overlaying text in existing image (jpg) file
#!/usr/bin/perl use Image::Magick; #print "Content-type: image/jpg\n\n"; my $jpeg_file = 'frontpage.jpg'; my $im = Image::Magick->new(); my $rc = $im->Read($jpeg_file); die $rc if $rc; $rc = $im->Annotate( gravity => "Center", text => "Hello ImageMagick!", font => "arial.ttf", stroke => "red", fill=> "red", pointsize => 28, ); die $rc if $rc; $rc = $im->Write("$0.jpg"); die $rc if $rc;
And here is one for GD
#!/usr/bin/perl use warnings; use strict; use GD; use GD::Text::Align; @ARGV or die "Need an image file\n"; for my $img_file (@ARGV) { my $gd = GD::Image->new($img_file) or die; my ($w, $h) = $gd->getBounds(); my $gdt = GD::Text::Align->new($gd, valign => 'bottom', halign => 'right', text => 'Some Text', colour => $gd->colorResolve(0,0,0), ) or die; $gdt->set_font('arial', $h/10) or die; $gdt->draw($w, $h, 0) or die; open(GD, ">$0.png") or die; binmode GD; print GD $gd->png; close GD; }
|
|---|