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(); 45