QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1024|回复: 0

请教:怎样使GD及其附加模块支持中文,贴内是测试代码,环境red hat

[复制链接]
发表于 2002-8-14 15:50:04 | 显示全部楼层 |阅读模式
所需模块:GD,GD::Graph,GD::Text
---bar.pl
#!/usr/bin/perl -w
use strict;
use GD::Graph::bars;
use GD::Graph::hbars;
use GD::Graph::Data;
require 'save.pl';

my $data = GD::Graph::Data->new([
    ["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
    [    1,    2,    5,    6,    3,  1.5,    1,     3,     4],
]) or die GD::Graph::Data->error;

my @names = qw/sample11 sample11-h/;

for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
{
    my $name = shift @names;

    print STDERR "Processing $name\n";

    $my_graph->set(
        x_label         => 'X 竖行    ',
        y_label         => 'Y 横行    ',
        title           => '一个图例',
        y_max_value     => 20,
        y_tick_number   => 20,
        y_label_skip    => 4,

        #x_labels_vertical => 1,

        # shadows
        bar_spacing     => 8,
        shadow_depth    => 4,
        shadowclr       => 'dred',

        transparent     => 0,
    )
    or warn $my_graph->error;

    $my_graph->plot($data) or die $my_graph->error;
    save_chart($my_graph, $name);
}
----save.pl
sub save_chart
{
        my $chart = shift or die "Need a chart!";
        my $name = shift or die "Need a name!";
        local(*OUT);

        my $ext = $chart->export_format;

        open(OUT, ">$name.$ext") or
                die "Cannot open $name.$ext for write: $!";
        binmode OUT;
        print OUT $chart->gd->$ext();
        close OUT;
}

1;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-6-5 04:18 , Processed in 0.160634 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表