代码: 全选
● cat cairo.pl
#!/usr/bin/perl
use Cairo;
my $r=200;
my $surface = Cairo::ImageSurface->create ('argb32', $r, $r);
my $cr = Cairo::Context->create ($surface);
my $l=$r/5;
$cr->rectangle (0, 0, $l, $l);
$cr->set_source_rgba (0, 0, 0, 0.5);
$cr->fill;
$cr->rectangle ($r-$l, $r-$l, $l, $l);
$cr->set_source_rgba (1, 1, 1, 0.5);
$cr->fill;
#$cr->stroke;
#$cr->paint;
my $a=-90;
my $PI=3.1415926/180;
my $m=$ARGV[0];
while($m>=60){$m-=60;}
$m=$m*6;
$cr->arc ($r/2,$r/2,80,(0+$a)*$PI,($m+$a)*$PI);
$cr->set_source_rgba (1, 0, 0, 0.8);
#$cr->paint;
$cr->set_line_width(10);
$cr->stroke;
#$cr->fill;
$cr->set_source_rgba (0, 0, 1, 0.8);
#$cr->select_font_face ("YellowSubmarine", italic, bold);
$cr->select_font_face ("HYYanLingJ", italic, bold);
$cr->set_font_size(80);
$cr->move_to($r/2-40,$r/2);
$cr->show_text("张");
$cr->show_page;
$surface->write_to_png ('output.png');