$err = $magick->Read(file => \*DCRAW);
close(DCRAW);
} else {
+ # We always want YCbCr JPEGs. Setting this explicitly here instead of using
+ # RGB is slightly faster (no colorspace conversion needed) and works equally
+ # well for our uses. (Ideally we'd be able to keep the image subsampled and
+ # planar, but that would probably be difficult for ImageMagick to expose.)
+ $magick->Set(colorspace=>'YCbCr');
$err = $magick->Read($fname);
}
update_image_info($r, $id, $width, $height);
}
- # We always want RGB JPEGs
- if ($img->Get('Colorspace') eq "CMYK") {
- $img->Set(colorspace=>'RGB');
- }
-
while (defined($xres) && defined($yres)) {
my ($nxres, $nyres) = (shift @otherres, shift @otherres);
my $cachename = get_cache_location($r, $id, $xres, $yres, $infobox);
# Apache2::ServerUtil->server->log_error(join(':', keys %$info));
+ my $iso = undef;
if (defined($info->{'NikonD1-ISOSetting'})) {
- push @classic_fields, [ $info->{'NikonD1-ISOSetting'}->[1] . " ISO", 0 ];
- } elsif (defined($info->{'ISOSetting'})) {
- push @classic_fields, [ $info->{'ISOSetting'} . " ISO" ];
+ $iso = $info->{'NikonD1-ISOSetting'};
} elsif (defined($info->{'ISO'})) {
- push @classic_fields, [ $info->{'ISO'} . " ISO" ];
+ $iso = $info->{'ISO'};
+ } elsif (defined($info->{'ISOSetting'})) {
+ $iso = $info->{'ISOSetting'};
+ }
+ if (defined($iso) && $iso =~ /(\d+)/) {
+ push @classic_fields, [ $1 . " ISO", 0 ];
}
if (defined($info->{'ExposureBiasValue'}) && $info->{'ExposureBiasValue'} ne "0") {