计算 JavaScript 中的 EXIF 数据顶点值

Calculate EXIF Data Apex Values in JavaScript

我正在尝试使用 JavaScript 计算某些图像的光圈值,这些值是从图像 EXIF 数据中提取的,并且采用 APEX https://en.wikipedia.org/wiki/APEX_system 格式。

这个文档,附录 A 下的 http://dougkerr.net/Pumpkin/articles/APEX.pdf 似乎显示了光圈和快门速度所需的公式,但我很难将它翻译成 JavaScript。

我知道光圈顶点值 1.5 应该等于 1.7,3.0 应该等于 2.8 等等,但我只是没有得到正确的答案。

这里有一个快速 fiddle,但是公式全错了。 http://jsfiddle.net/41zm7os7/1/

var apexVal = 3.0; //This should convert to 2.8
var aperture = 2 * Math.log2(apexVal)

应该是

有人能帮忙吗?

该公式会将 2.8 变成 3。显然您需要该公式的反函数,即 N = 2 ^ (An / 2)。

 var apexVal = 3.0; //This should convert to 2.8
 var aperture = Math.pow(2, apexVal / 2);