我希望得到一些关于实现看似简单目标的一般指导.我有一个数码单反相机(佳能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经验的人给我指点.我仔细阅读了文档,并看到了传输图像和删除图像的参考.但是,我没有看到提及拍照,获取预览图像或说焦点/自动对焦的命令.
WPD api提供命令WPD_COMMAND_STILL_IMAGE_CAPTURE_INITIATE
我不确定你的相机是否支持它,但它应该很容易找到.如果您可以从驱动程序开发工具包中获取“wpdinfo”工具并在连接相机的情况下启动它,则向其发送WPD_COMMAND_CAPABILITIES_GET_SUPPORTED_COMMANDS命令并查看它是否支持静态图像捕获命令.如果那么你可以尝试一下.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。