#!/usr/bin/perl # Take all in InRotation # Scale them down # Add the byline on top # Save them to done # Anything with a -c.png is a color pic, and should be save as a .jpg, not a # .gif $|=1; use Image::Magick; $byline=Image::Magick->new; $byline->Read('StalagComicTitle.gif'); $from="./InRotaton"; $to="./done"; opendir(DIR,$from) || die "Something: $!"; @d = grep {/^\d+/} readdir(DIR); closedir(DIR); @d1=sort @d; # print @d1; # exit; while(@d1) { $f=shift @d1; print "Working on $f... "; $f =~ /^([^.]+)\./; $fo=$1; $color=0; $color++ if($f =~ /-c\.png$/); $fo .= ($color ? ".jpg" : ".gif" ); $img = Image::Magick->new; $img->Set(size=>"720x1024"); $img->ReadImage("null:white"); $src = Image::Magick->new; $src->Read("$from/$f"); $src->Resize(geometry=>"720x720",filter=>"Cubic",blur=>.5); ($w,$h)=$src->Get('width','height'); $h+=16; $img->Composite(compose=>'Replace',image=>$byline,x=>0,y=>0); $img->Composite(compose=>'Replace',image=>$src,x=>0,y=>16); $img->Crop(x=>0,y=>0,width=>$w,height=>$h); unless($color) { $img->Quantize(colors=>16); $img->Write("$to/temp.pgm"); system "ppmtogif $to/temp.pgm > $to/$fo"; } else { $img->Write("$to/$fo"); } print "done.\n"; }