Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Perl: recomended method to plot(x,y) pixels to a monochrome bitmap

Tags:

plot

bitmap

perl

For a home project I need to plot (x,y) coordinates onto a 400x400 black and white-bitmap.

What perl module would you recoment and what image format (GIF?, PNG? other?) would be easiest to handle on OS X, Windows, Linux?


EDIT My solution, based on GD, as recomended by Brian Agnew


use strict;
use warnings;
use GD;
my $BitMap = GD::Image->new(400,400);

my $white = $BitMap->colorAllocate(255,255,255);
my $black = $BitMap->colorAllocate(0,0,0);       

# Frame the BitMap
$BitMap->rectangle(0,0,399,399,$black);
# Transparent image, white background color
$BitMap->transparent($white);

# plot some, just to show it works #
for my $x (0..100) {
   for my $y (0 .. 100) {
      $BitMap->setPixel(250+100*sin($x)-$y,150+125*cos($x)+$y,$black); 
   }
}

# write png-format to file
open my $fh,">","test.png" or die "$!";
binmode $fh;
print $fh $BitMap->png;
close($fh);

like image 604
lexu Avatar asked Jul 25 '09 13:07

lexu


1 Answers

Have a look at the GD module (which interfaces to the GD library). It makes creating graphics pretty trivial and has a wide range of output formats, including PNG and GIF.

like image 168
Brian Agnew Avatar answered Oct 25 '22 22:10

Brian Agnew