londonrubbish
09-29-2005, 09:45 AM
The function reduceExif in functions.php incorrectly reduces exposure times of 1 second or more,
i.e. for a 10 (ten) second exposure time it is returned as:
1/0
The function could be re-written as below, but others may find a more efficient way.
function &reduceExif($exifvalue)
{
$vals = split("/",$exifvalue);
if(count($vals) == 2) {
// MJS 29092005 - Code to deal with exposure times of > 1 sec
if ( $vals[1] == 0 ) {
$exposure = round($vals[0].$vals[1],2);
} else {
$exposure = round($vals[0]/$vals[1],2);
if ( $exposure < 1 ) $exposure = '1/'.round($vals[1]/$vals[0],0);
}
} else {
$exposure = round($vals[0]/$vals[1], 2);
}
return $exposure;
}
i.e. for a 10 (ten) second exposure time it is returned as:
1/0
The function could be re-written as below, but others may find a more efficient way.
function &reduceExif($exifvalue)
{
$vals = split("/",$exifvalue);
if(count($vals) == 2) {
// MJS 29092005 - Code to deal with exposure times of > 1 sec
if ( $vals[1] == 0 ) {
$exposure = round($vals[0].$vals[1],2);
} else {
$exposure = round($vals[0]/$vals[1],2);
if ( $exposure < 1 ) $exposure = '1/'.round($vals[1]/$vals[0],0);
}
} else {
$exposure = round($vals[0]/$vals[1], 2);
}
return $exposure;
}