用gd画图的时候怎样显示汉字?

用gd画图的时候怎样显示汉字?

费了半天劲终于安装上了GD
现用gd画图,BSD+GD1.33
在图上输出文字只能用内带的几种字体
$image->;string($font,$x,$y,$string,$color)

This method draws a string startin at position (x,y) in the specified font and color. Your choices of fonts are gdSmallFont, gdMediumBoldFont, gdTinyFont, gdLargeFont and gdGiantFont.

所以我用->;string输出汉字的时候,结果都是乱码,怎么办啊???     

在网上查了一下,找到了一些php 使用GD出汉字的方法,行如:
$r=chr(0xE4).chr(0xB.chr(0xAD).chr(0xE6).chr(0x96).chr(0x87)."ok";
$im->;string(gdSmallFont,12,10,"$r",$red);
但是并不成功,还是乱码 :~(

还请各位高手指点一下,谢谢啊!


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
use GD;
use GD::Graph::linespoints;
print "Content-type: image/png\n\n";
my @data = ( [qw(一月 二月 三月 四月 五月 六月 七月 八月 九月)],
             [undef, 52,53,54,55,56,undef,58,59],
             [60, 61,61,undef,68,66,65,61,undef],
);

my $chart = GD::Graph::linespoints->;new(700,500);
$chart->;set_x_label_font("/apile/AVBKV.TTF",10);
$chart->;set_y_label_font("/apile/AVBKV.TTF",10);
$chart->;set_x_axis_font("/apile/AVBKV.TTF",10);
$chart->;set_y_axis_font("/apile/AVBKV.TTF",10);
$chart->;set_title_font("/apile/AVBKV.TTF",16);
$chart->;set(
   x_label       =>; '月份',
   y_label       =>; '# 賣出',
   title         =>; '前三季, 2000',
   y_long_ticks  =>; 1,
   markers       =>; [1,5],
   marker_size   =>; 8,
   line_types    =>; [4,1],
   line_width    =>; 3,
);
$chart->;set_legend('outlet 1', 'outlet 2');
my $gd_object = $chart->;plot(\@data);


#make sure we are writing to a binary stream
binmode STDOUT;
# Convert the image to PNG and print it on standard output
print $gd_object->;png;

首先你的GD要支援freetype..第二你要安裝跟font有關的utility的modules.
第三你要有支援gb2312或unicode的fonts..如果沒有..你得自己轉碼..
unicode->;gb2312, gb2312->;unicode..要看你的fonts支援什麼編碼..
總而言之要有支援中文的fonts...
第三看著例子自己改..
上面試我用現成的.. GD::Graph modules..所做的測試例子..
你可以參考參考...
谢谢apile !
我不大会安装这些东西,不过我已经有办法了
我只要写了个读取汉字库然后画点的函数,来实现显示汉字就行了,
好多年前用c写dos程序的时候就是这么干的,呵呵!
能给一个更明了的解释吗?