--- frames.pl 2007/07/21 12:50:32 17 +++ frames.pl 2007/07/21 15:02:51 18 @@ -12,7 +12,7 @@ my $tmp = '/tmp/frames'; my $out = '/tmp/frames.avi'; -my $jpeg_q = 20; +my $jpeg_q = 100; my $repeat = 1; GetOptions( @@ -41,25 +41,42 @@ } my @cols = ( + 'fff', '000', 'f00', + '000', '0f0', + '000', '00f', + '000', 'ff0', + '000', '0ff', + '000', 'fff', ); my $frame = 1; +sub save_jpeg { + my ( $path, $q ) = @_; + open(my $fh, '>', $path ) || die "can't open $path: $!"; + print $fh $im->jpeg( $q ) || die "can't save picture $path: $!"; + close($fh) || die "can't close picture $path: $!"; +} + foreach my $c ( @cols ) { foreach ( 1 .. $repeat ) { $im->fill(50,50, col($c) ); - my $path = sprintf('%s/%03d.jpg', $tmp, $frame++); - open(my $fh, '>', $path) || die "can't open $path: $!"; - print $fh $im->jpeg( $jpeg_q ) || die "can't save picture $path: $!"; - close($fh) || die "can't close picture $path: $!"; + my $path = sprintf('%s/%03d.jpg', $tmp, $frame); + save_jpeg( $path, $jpeg_q ); + + foreach my $q ( 1 .. 100 ) { + my $path = sprintf('%s/%03d-q%03d.jpg', $tmp, $frame, $q ); + save_jpeg( $path, $q ); + } warn "frame $frame $jpeg_q% ", -s $path, " bytes\n"; + $frame++; } }