Ошибка в генерации изображения, используя GD: График в Perl - PullRequest
1 голос
/ 09 октября 2011

Что ж, я изучаю Perl, и я подумал о том, чтобы попробовать для Графики вот так:

#!/usr/local/bin/perl -w
use CGI ':standard';
use GD::Graph::bars;
use strict;

# Both the arrays should same number of entries.
my @data = (["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
             "Sep", "Oct", "Nov", "Dec"],
            [23, 5, 2, 20, 11, 33, 7, 31, 77, 18, 65, 52]);

my $mygraph = GD::Graph::bars->new(500, 300);
$mygraph->set(
    x_label     => 'Month',
    y_label     => 'Number of Hits',
    title       => 'Number of Hits in Each Month in 2002',
) or warn $mygraph->error;

my $myimage = $mygraph->plot(\@data) or die $mygraph->error;

print "Content-type: image/png\n\n";
print $myimage->png;

когда я выполняю код, я получаю вывод, подобный этому:*

Так как я новичок в Perl, я не смог понять, что это за выход!Я думаю, где-то я ошибся.Может ли кто-нибудь помочь мне в этом вопросе!

Заранее спасибо.

1 Ответ

3 голосов
/ 09 октября 2011

Вместо этого (это будет работать как CGI)

print "Content-type: image/png\n\n";
print $myimage->png;

Вы хотите это (которое выводит в файл)

open my $fh, '>', 'myfile.png' or die "Couldn't open myfile.png: $!";
binmode $fh;
print $fh $myimage->png;
close $fh;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...