Skip to content

Instantly share code, notes, and snippets.

@nihen
Created February 25, 2010 09:03
Show Gist options
  • Save nihen/314383 to your computer and use it in GitHub Desktop.
Save nihen/314383 to your computer and use it in GitHub Desktop.
sub scale {
my ($imagers, %opt) = @_;
my $xfactor = $opt{xpixels} / $imagers->[0]->getwidth;
my $yfactor = $opt{ypixels} / $imagers->[0]->getheight;
my $factor = [$xfactor => $yfactor] -> [$yfactor <= $xfactor];
my @delays = _get_delays($imagers);
if ($factor >= 1) {
return @delays;
}
foreach my $img (@{$imagers}) {
my $gif_left = $img->tags(name => 'gif_left');
my $gif_top = $img->tags(name => 'gif_top');
my $gif_disposal = $img->tags(name => 'gif_disposal');
$img = $img->scale(
scalefactor => $factor,
qtype => 'mixing',
);
$img->settag(
name => 'gif_left',
value => $gif_left * $factor,
);
$img->settag(
name => 'gif_top',
value => $gif_top * $factor,
);
$img->settag(
name => 'gif_disposal',
value => $gif_disposal,
);
}
return @delays;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment