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