in reply to Using FLY to print to STDOUT

Instead of using an external program, I would like to take this chance to recommend the GD module. Here is a simple example that can be modified to easily do what you want and is a bit more Perlish than piping to fly.

#!perl use warnings; use strict; use GD; # create a new image my $im = new GD::Image(100,100); # allocate some colors my $white = $im->colorAllocate(255,255,255); my $black = $im->colorAllocate(0,0,0); my $red = $im->colorAllocate(255,0,0); my $blue = $im->colorAllocate(0,0,255); # Put a black frame around the picture $im->rectangle(0,0,99,99,$black); # Draw a blue oval $im->arc(50,50,95,75,0,360,$blue); # And fill it with red $im->fill(50,50,$red); # draw a line (x1,y1,x2,y2,color) $im->line(30,20,40,50,$black); # open an output file my $png_file = "/full/path/test.png"; open OUT, ">$png_file" or die "Cannot open $png_file:$!\n"; # make sure we are writing to a binary stream (Win only) binmode OUT; # Convert the image to PNG and print it on standard output print OUT $im->png; close OUT or die "Cannot close $png_file:$!\n";
Disclaimer: I took this sample from the documentation somewhere and take no credit for it, although it is slightly modified.

-- Regards,
Helgi Briem
helgi AT decode DOT is