ios - setExposureModeCustom:EXIF 数据中的持续时间/ISO 值不匹配
问题描述
我正在开发一个使用各种高级 iOS 相机控件的应用程序,例如自定义曝光设置(持续时间和 ISO)。使用以下方法将曝光锁定为自定义值:
device.setExposureModeCustom(duration: duration, iso: iso) {
(timestamp:CMTime) -> Void in
// ...
}
我的应用程序还锁定了与特定温度/色调组合相对应的设备增益。
到目前为止,一切似乎都奏效了。但是,当我打开生成的照片文件(在我的情况下为 JPG)并查看存储在 EXIF 标签中的曝光持续时间/ISO 值时,我注意到我以编程方式指定的值与这些值之间存在巨大差异在 EXIF 标签中。
我已经用各种不同的曝光持续时间/ISO 组合对此进行了测试。如您所见,在大多数情况下,错误非常大:
这是为什么?任何人都可以重现/确认这个问题吗?这似乎是Apple的一个错误。
使用 AVCapturePhotoOutput 的 capturePhoto 方法捕获照片:
self.photoOutput.capturePhoto(with: photoSettings, delegate: captureProcessor)
.custom
是的,在拍摄任何照片之前,我反复检查了曝光模式是否设置为。配置 AVCaptureDevice 的代码工作正常。您还可以在预览中看到它正在工作,例如,使用更长的曝光时间或更大的 ISO 值会产生更亮的图像,正如您所期望的那样。
可能相关:
我的设备:iPad Pro (10.5"),iOS 13.2.2
解决方案
推荐阅读
- asp.net-mvc - 如何在单个 API 调用中使用不同的指标检查 elasticksearch 运行状况?
- recursion - F# 递归与迭代速度/开销
- prometheus - PromQL 正确获取 CPU 使用百分比
- google-apps-script - google apps script - “只有脚本的所有者才能将脚本发布为附加组件。” 谁是所有者,如果不是我?
- ios - 如何在大型数据库上使用 Realm 过滤数据?迅速
- asp.net-core - 如何从 Identity Server 注销所有客户端?
- c# - 如何在 c# 中获得默认用户然后机器级联环境变量首选项行为?
- android - 如何显示彩色索引图像?
- javascript - 动态设置属性名称和键时解构对象
- google-apps-script - 如何使用多个单元格值从 Google 工作表中查找值并发送电子邮件