• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/perl
2
3use Image::Magick;
4
5$image = Image::Magick->new();
6$smile = Image::Magick->new();
7$smile->Read('smile.gif');
8$smile->Set(background=>'none');
9$x = 100;
10$y = 100;
11for ($angle=0; $angle < 360; $angle+=30)
12{
13  my ($thumbnail);
14
15  print "angle $angle\n";
16  $thumbnail=Image::Magick->new(size=>"600x600",pointsize=>24,fill=>'black');
17  $thumbnail->Read("xc:white");
18  $thumbnail->Draw(primitive=>'line',points=>"300,100 300,500",stroke=>'#600');
19  $thumbnail->Draw(primitive=>'line',points=>"100,300 500,300",stroke=>'#600');
20  $thumbnail->Draw(primitive=>'rectangle',points=>"100,100 500,500",
21    fill=>'none',stroke=>'#600');
22  $thumbnail->Composite(image=>$smile,gravity=>"NorthWest",x=>$x,y=>$y,
23    rotate=>$angle);
24  $thumbnail->Composite(image=>$smile,gravity=>"North",y=>$y,rotate=>$angle);
25  $thumbnail->Composite(image=>$smile,gravity=>"NorthEast",x=>$x,y=>$y,
26    rotate=>$angle);
27  $thumbnail->Composite(image=>$smile,gravity=>"West",x=>$x,rotate=>$angle);
28  $thumbnail->Composite(image=>$smile,gravity=>"Center",rotate=>$angle);
29  $thumbnail->Composite(image=>$smile,gravity=>"East",x=>$x,rotate=>$angle);
30  $thumbnail->Composite(image=>$smile,gravity=>"SouthWest",x=>$x,y=>$y,
31    rotate=>$angle);
32  $thumbnail->Composite(image=>$smile,gravity=>"South",y=>$y,rotate=>$angle);
33  $thumbnail->Composite(image=>$smile,gravity=>"SouthEast",x=>$x,y=>$y,
34    rotate=>$angle);
35  push(@$image,$thumbnail);
36}
37$image->Set(delay=>20);
38$image->Write("composite.miff");
39$image->Animate();
40