if (! -r $mmlocation or (-M $mmlocation > -M $physical_fname)) {
if (!defined($img)) {
if (defined($last_good_mmlocation)) {
- $img = Sesse::pr0n::QscaleProxy->new;
+ if ($can_use_qscale) {
+ $img = Sesse::pr0n::QscaleProxy->new;
+ } else {
+ $img = Image::Magick->new;
+ }
$img->Read($last_good_mmlocation);
} else {
$img = read_original_image($r, $filename, $id, $dbwidth, $dbheight, $can_use_qscale);
}
if ($last && !defined($img)) {
# OK, read in the smallest one
- $img = Sesse::pr0n::QscaleProxy->new;
+ if ($can_use_qscale) {
+ $img = Sesse::pr0n::QscaleProxy->new;
+ } else {
+ $img = Image::Magick->new;
+ }
my $err = $img->Read($mmlocation);
}
}
# Read in the original image
my $magick;
- if ($can_use_qscale && $filename =~ /\.jpeg$/i || $filename =~ /\.jpg$/i) {
+ if ($can_use_qscale && ($filename =~ /\.jpeg$/i || $filename =~ /\.jpg$/i)) {
$magick = Sesse::pr0n::QscaleProxy->new;
} else {
$magick = Image::Magick->new;
my ($a, $b) = ($1, $2);
my $gcd = gcd($a, $b);
push @classic_fields, [ $a/$gcd . "/" . $b/$gcd . "s", $shutter_priority ];
- } elsif (defined($info->{'ExposureTime'}) && $info->{'ExposureTime'} =~ /^(\d+)$/) {
+ } elsif (defined($info->{'ExposureTime'}) && $info->{'ExposureTime'} =~ /^(\d+(?:\.\d+))$/) {
push @classic_fields, [ $1 . "s", $shutter_priority ];
}