]> granicus.if.org Git - imagemagick/blob - PerlMagick/demo/composite.pl
(no commit message)
[imagemagick] / PerlMagick / demo / composite.pl
1 #!/usr/bin/perl
2
3 use Image::Magick;
4
5 #$font = '-adobe-helvetica-medium-r-normal--25-180-100-100-p-130-iso8729-1';
6 #$font = 'Times';
7 $font = 'Generic.ttf';
8
9 $image = Image::Magick->new();
10 $smile = Image::Magick->new();
11 $smile->Read('smile.gif');
12 $smile->Set(background=>'none');
13 $x = 100;
14 $y = 100;
15 for ($angle=0; $angle < 360; $angle+=30)
16 {
17   my ($thumbnail);
18
19   print "angle $angle\n";
20   $thumbnail=Image::Magick->new(size=>"600x600",pointsize=>24,font=>$font,
21     fill=>'black');
22   $thumbnail->Read("xc:white");
23   $thumbnail->Draw(primitive=>'line',points=>"300,100 300,500",stroke=>'#600');
24   $thumbnail->Draw(primitive=>'line',points=>"100,300 500,300",stroke=>'#600');
25   $thumbnail->Draw(primitive=>'rectangle',points=>"100,100 500,500",
26     fill=>'none',stroke=>'#600');
27   $thumbnail->Composite(image=>$smile,gravity=>"NorthWest",x=>$x,y=>$y,
28     rotate=>$angle);
29   $thumbnail->Composite(image=>$smile,gravity=>"North",y=>$y,rotate=>$angle);
30   $thumbnail->Composite(image=>$smile,gravity=>"NorthEast",x=>$x,y=>$y,
31     rotate=>$angle);
32   $thumbnail->Composite(image=>$smile,gravity=>"West",x=>$x,rotate=>$angle);
33   $thumbnail->Composite(image=>$smile,gravity=>"Center",rotate=>$angle);
34   $thumbnail->Composite(image=>$smile,gravity=>"East",x=>$x,rotate=>$angle);
35   $thumbnail->Composite(image=>$smile,gravity=>"SouthWest",x=>$x,y=>$y,
36     rotate=>$angle);
37   $thumbnail->Composite(image=>$smile,gravity=>"South",y=>$y,rotate=>$angle);
38   $thumbnail->Composite(image=>$smile,gravity=>"SouthEast",x=>$x,y=>$y,
39     rotate=>$angle);
40   push(@$image,$thumbnail);
41 }
42 $image->Set(delay=>20);
43 $image->Write("composite.miff");
44 $image->Animate();