I had GD installed on the server(FreeBSD) and haven't been able to get a script to run yet. Here's a piece of code the ISP offered, but even they can't run it.
#!/usr/local/bin/perl
use GD;
Context: "text/html\n\n";
# create a new image
$im = new GD::Image(100,100);
# 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,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);
# make sure we are writing to a binary stream
binmode STDOUT;
# Convert the image to PNG and print it on standard output
print $im->png;
Here's the error it produces in my error log.
Thu Apr 4 06:23:58 2002 access to /cgi-bin/gdtrial.pl failed for XX.XXX.XXX.XX, reason: malformed header from script. Bad header=‰PNG
I've also tried GD:Graph with this code:
#!/usr/bin/perl
use strict;
use GD::Graph::bars;
my @data = (
["Jan-01","Feb-01","Mar-01", "Apr-01","May-01","Jun-01","Jul-01","Au
+g-01","Sep-01"],
[21,25,33,39,49,48,40,45,15]
);
my $graph = new GD::Graph::bars;
$graph->set(
x_label => 'Month',
y_label => 'Revenue ($1,000s)',
title => 'Monthly Online Sales for 2001',
bar_spacing => 10
)
or warn $graph->error;
$graph->plot(\@data) or die $graph->error;
open(GRAPH,">graph1.jpg") || die "Cannot open graph1.jpg: $!\n";
print GRAPH $graph->gd->jpeg(100);
It produces the same type of error. I CPAN'd GD:Graph and it says it's up to date. What am I doing wrong? Has anyone come across a problem like this?
TIA
peppiv
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.