2011-10-09 11 views
1
のグラフ

まあ、私はPerlを学んでいる、と私は、このようなグラフィックスのためにしようと考えました。エラー、GDを使用して: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; 

私はコードを実行したときに、私を得ます

5���]�g�?>��l-�q��0H���9��c�_>~u��#�Q�1i3ı� 
q����@.w�T�ˁ�!aage/png 
       �[�r��0���?p?�<�YV��W*�8`���g���)�F�fNs�����I��ǑH���ט0�N��R_4�����3\����!��<�/g���K�Y����w{����Nwc�~�~�;���?yJ��m�j�ށ_ 
                ���c���Ϯ��(�����s^ 
�����[p�����a�G�����B����*-��s����UO�O��`� 
       PLTE������[email protected]��f�IDATx����0�k/���ϼ|��;�?t|IuP�����O�?.�����ӿd�?�w�&�K+=\�_'���q�p}2.��X���~S�j5>��G��&v��0>�:W������]r6���7U�T��Pn����O��� s�����|�:��^R���!���O1�/o�S�������4;�%��Hv5����C��u�xS1y�ː7"N���yb������hFّ��B��"���v�kR�i���H�~����6>'_�|���$��u�y%u��d��x4��bYI����WK              ����~}`VS})̗�X�s2�Z��[��[ڎWF�%��f���Db�eY�:;���*�e��o 
    ӫ�U?���R���+�h�hj�*���ZO��n 
       0�A~�הD��(��q��Zo����lk�qU#D���P�p��0����k0�KM#��M��2P7�8� ���FI��0��݅B�m!��������:7)z?��+���Ͼ\����q�0.$�U��T�_������������vM�,U�RU1_�4%��$�/tJu��iS��\�~��8����:?)��X�w�^              ��-&NJE�2jtP8�O�TbGm�Q���p<,%- C�Ĭ߀��e��:�Y?jQuX]�� ���ԃzP�A=��kV��7�S�g{���DPw6��J��zP�A=��[��Q�0��k�}g�u��ݫ:_��;ԉOu�a��u��q��9��c�>oobL��~�^ԋim/���n-���nU��S[^ԉ_�H���͆|'jغ�߼[~s�4���| 
%�?u�����Ư:�����<����.����wkc�?��^k!7�~o��'����/Z}�|·R�s��nf<����ߟ���;�;�W����E��B�zP�W�^����kQuu����P/�f����)Q�<�#v�H�=�J�iwga=`>;���^��z�V�>���mz��[�����ĵa��ef[���*��z/�s 
                         hlQ���Qv�Q3 
�Nuv$V�B���l[�0���l$���l�����i<q����kx�H!��Z�v�������M^@�A�x���-��e�G�.��)�UU�]�:IEND�B` 

私はこの出力が何であるか把握できませんでした。私はどこかに間違っていたと思う。誰もがこの問題で私を助けることができます!

ありがとうございます。これに代えて

+0

は、それがされた場合は、これをしたいですWebサーバー上で実行しています。イメージをファイルに入れようとしているのか、またはWebサーバーからブラウザに生成しようとしていますか? – AFresh1

+0

ああ、画像ファイルを – sriram

答えて

3

(つまり、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; 
+0

にすると良いでしょう:Dしかし、あなたは ';'の 'die'ステートメントを見逃しました。答えをありがとう。 – sriram

関連する問題