我希望得到一些关于实现看似简单目标的一般指导.我有一个数码单反相机(佳能EOS 50D),需要编写一个应用程序,告诉相机拍照.我还需要将图片传输到计算机,并可能将其从相机的存储中删除.奖励是在我的应用程序中从相机获得实时预览.我的环境将是
Windows(XP Pro或Vista Enterprise)和.Net 3.5(C#).
我做了一些研究,发现了一些选择.我知道一个会工作,但限制我将来只使用佳能相机.我发现并从佳能下载了一个SDK,它提供了很多这方面的功能.我查看了SDK,虽然它很广泛并且用C语言编写,但它确实有C#包装器,可以加快开发速度.
我发现的另一个选项叫做Windows便携设备.显然,它是一个API,可以与实现PTP和MTP标准的设备进行通信.它是基于COM的,据我所知,它没有.Net包装器.然而,这不是一个节目限制.我可以P / Invoke我需要的功能或写一个托管C DLL在我的应用程序中使用与相机交谈.
我正在寻找有WPD经验的人给我指点.我仔细阅读了文档,并看到了传输图像和删除图像的参考.但是,我没有看到提及拍照,获取预览图像或说焦点/自动对焦的命令.