我是使用 EDSDK 2.14 的 C++ 新程序员。我正在使用佳能 EOS 5D Mark II,我有一些问题要做(我正在启动 api、相机会话、处理程序、设置容量、我的程序拍照、为相机设置正确的参数并且我正在使用 Windows处理某些事件的消息):
1)我需要将照片保存在主机中,我这样做是正确的,但是相机只允许内部缓冲区中的 8 张照片,我需要测试一些参数组合(AV、TV 和 ISO SPEED)。当我按下's'(带有Windows消息,回调)时,我循环拍摄10张照片,只拍摄了8张照片,其他有忙错误,所以我猜那是内部缓冲区。我怎样才能拍摄超过 8 张照片,并通过一个 Windows 事件正确更改参数?ps:我尝试重新打开会话(再次关闭并打开与相机的会话)但不是一个好主意,因为传输(下载图像)的事件句柄仅在对象释放时设置。
2)我尝试获取一张照片并下载,但不可能,当我按下's'时,程序等待拍摄8张照片,然后相机将事件回调发送到句柄以下载所有图像。我想按's',程序拍一张照片,下载并拍摄其他照片,如果可能的话,我该怎么做?
3)如果我做一个方法来设置AV,TV,ISO Speed参数,这将被及时发送到相机拍照,或者我需要等待相机回调之类的东西。如果我需要这样的东西,我需要使用什么事件?ps:我的程序都是异步的,我没有使用线程,只有回调和windows事件。
4)我在互联网上搜索要放置正确的焦点,但有人说这只能在实时取景中进行,我不能在我的应用程序中使用它。没有实时取景可以改变焦点吗?ps:因为我的程序需要一张好照片和相机的自动对焦,所以没有像 EOS Utility 那样做相同质量的图像,我在想他们是否对拍摄的图像进行了后处理
如果我有更多问题或者我解决了问题,我将回答所有社区,因为有太多人在使用这个 API,而且它不是太微不足道。对不起我的英语,我不是这门语言的母语,但我正在努力做到最好。