3 use Imager::Graph::Bar;
5 use Imager::Font::Test;
9 or mkdir "testout", 0700
10 or die "Could not create output directory: $!";
14 use Imager qw(:handy);
19 local $SIG{__WARN__} =
26 #my $fontfile = 'ImUgly.ttf';
27 #my $font = Imager::Font->new(file=>$fontfile, type => 'ft2', aa=>1)
28 # or plan skip_all => "Cannot create font object: ",Imager->errstr,"\n";
29 my $font = Imager::Font::Test->new();
31 my @data = ( 100, 180, 80, 20, 2, 1, 0.5 );
32 my @labels = qw(alpha beta gamma delta epsilon phi gi);
35 my $bar = Imager::Graph::Bar->new();
36 $bar->set_font($font);
37 ok($bar, "creating bar chart object");
39 $bar->add_data_series(\@data);
40 $bar->set_labels(\@labels);
42 my $img1 = $bar->draw();
43 ok($img1, "drawing bar chart");
45 $img1->write(file=>'testout/t14_bar.ppm') or die "Can't save img1: ".$img1->errstr."\n";
46 cmpimg($img1, 'testimg/t14_bar.ppm', 80_000);
49 { # alternative interfaces
50 my $bar = Imager::Graph::Horizontal->new();
51 $bar->set_font($font);
52 ok($bar, "creating bar chart object");
54 $bar->add_bar_data_series(\@data);
55 $bar->set_labels(\@labels);
57 my $img1 = $bar->draw();
58 ok($img1, "drawing bar chart");
60 $img1->write(file=>'testout/t14_bar2.ppm') or die "Can't save img1: ".$img1->errstr."\n";
61 cmpimg($img1, 'testimg/t14_bar.ppm', 80_000);
64 unless (is(@warned, 0, "should be no warnings")) {
69 my ($img, $file, $limit) = @_;
73 my $cmpimg = Imager->new;
74 $cmpimg->read(file=>$file)
75 or return ok(0, "Cannot read $file: ".$cmpimg->errstr);
76 my $diff = Imager::i_img_diff($img->{IMG}, $cmpimg->{IMG});
77 cmp_ok($diff, '<', $limit, "Comparison to $file ($diff)");