Exif认识(二)

 通过php获取exif信息后,像光圈和快门的值还需要转换下,才是我们常用看得懂的值

ApertureValue的值:

  拍照时镜头的光圈. 单位是 APEX. 为了转换成普通的 F-number(F-stop), 则要先计算出根号2 2 (=1.4142)的ApertureValue次幂. 例如, 如果ApertureValue 是 '5', F-        number 就等于1.41425 = F5.6.

ShutterSpeedValue的值:

用APEX表示出的快门速度. 为了转换成原始的 'Shutter Speed'; 则先要计算2的ShutterSpeedValue次幂, 然后求倒数. 例如, 如果 ShutterSpeedValue 是 '4', 快门速度则是1/(24)=1/16秒.

上一段php代码

public function getImageExif($exif = array())
{


         $exifInfo = array(); if(!$exif) return $exifInfo; $ApertureValue = ''; $ShutterSpeedValue = ''; if (isset($exif['ApertureValue'])){ $ApertureValue = $exif['ApertureValue']; $temp = explode('/' , $ApertureValue); $ApertureValue = ceil(pow(2 , $temp[0] / $temp[1] /2)); } if (isset($exif['ShutterSpeedValue'])){ $ShutterSpeedValue = $exif['ShutterSpeedValue']; $temp = explode('/' , $ShutterSpeedValue); $ShutterSpeedValue = ceil(pow(2 , -$temp[0] / $temp[1] /2)); }
}

  这样获取的值就是光圈 f/22或快门 1/6 这种形式的

参考:http://www.cppblog.com/lymons/archive/2010/02/23/108266.aspx

原文地址:https://www.cnblogs.com/smartrui/p/4582508.html