[kansaipm] GDで日本語を扱いたいのですが・・・

takimoto takimoto at miki-net.or.jp
Thu Feb 21 20:00:31 CST 2002


TAKIです

GDモジュールで日本語を扱いたいのですがやり方がよくわかりません.
いえ 日本語が というよりもモジュールの扱い,ひいてはオブジェクト指向その
ものの考え方が判ってないのだと… > あたし

GDで日本語を表示させたい,と思っていたら GD::Text がTrueTypeフォントに対
応していて日本語表示ができる らしい というところまで辿り付きました.
でドキュメントを参考に以下のようなソースを組んで見ました.
もちろん GDそのもののstringは描画できるのですが,GD:Text で作成したオブ
ジェクトをどう反映したものかわからず,どなたかご教授お願いできます?

以下 ヘボいソースですが…
--------------ここから------------
#!/usr/bin/perl
use GD;
use GD::Text;

# 新規画像を作成する。
$im = new GD::Image(300,200);

# カラーを割り当てる。
$white = $im->colorAllocate(255,255,255);
$black = $im->colorAllocate(0,0,0);

# 現在の時刻をget
($sec, $min, $hour, $mday, $mon, $year) = localtime(time);
$year += 1900;
$string = sprintf "gdtest %02d:%02d:%02d", $hour, $min, $sec;

$im->string( gdTinyFont,		5, 100, 'gdTinyFont-', $black);
$im->string( gdSmallFont,		5, 110, 'gdSmallFont-', $black);
$im->string( gdMediumBoldFont,	5, 120, 'gdMediumBoldFont-', $black);
$im->string( gdLargeFont,		5, 130, 'gdLargeFont-', $black);

# GD::Text を扱いたいが・・・
my $gd_text = GD::Text->new() or die GD::Text::error();
$gd_text->set_font('HGRSMP.TTF', 12) or die $gd_text->error;

$gd_text->set_text($string);
my ($w, $h) = $gd_text->get('width', 'height');

# さて このあとどうしたらいいんだろう?

binmode STDOUT;

# 画像をPNGに変換し、標準出力に出力する。
print $im->png;

exit;
--------------ここまで--------------

追伸 
システムはとりあえずWindowsを使っています.

   瀧本  満  "TAKI"    takimoto at miki-net.or.jp




More information about the Kansai-pm mailing list