我正在使用vb.net/c#编写图片编辑窗体应用程序。 我有客户要求从连接到计算机的数码相机拍摄照片。

如何从我的Windows应用程序中的USB连接数码相机设备拍摄照片?

===============>>#1 票数:5 已采纳

如果您使用Windows Image Acquisition Library,您将在那里看到用于捕获相机新图片事件的事件。 我有类似的要求并写了一个试验台; 我们去了当地的相机商店,尝试了他们拥有的每一台相机。 我们能找到支持此功能的唯一相机是尼康D系列相机。

我们发现,对于大多数相机,你甚至无法在插入时拍照。当你将它们插入USB端口时,大多数相机将切换到一种模式,他们唯一要做的就是传输数据。 找出相机是否可以工作的快速方法是将其插入PC,然后尝试拍照。 如果它让你这样做你有机会。 它还需要支持PTP。

===============>>#2 票数:2

这取决于相机输出的界面。 如果这是标准的大容量存储接口,您只需使用标准文件接口,即您将相机视为可移动磁盘,并可以使用标准的创建/读取/写入/文件操作。
许多新相机都有ptp(图片传输协议)接口。 因此,您需要使用Windows Image Acquisition API。

你可能会发现有用的链接 如果我理解正确,这是一个示例代码,您正在寻找什么。 谷歌是你的朋友:)

另一条信息:许多相机将支持大容量存储和ptp接口,它可以通过相机用户界面进行选择。 如果是自动模式,相机可能会切换到ptp界面。

===============>>#3 票数:1

我假设您要激活从连接相机的计算机拍摄照片的操作。 如果是这种情况,那么我要做的第一件事就是为特定的相机型号搜索API。 除了访问相机内的存储卡之外,我不相信有与数码相机交互的标准协议/框架。

===============>>#4 票数:0

通常,相机在连接时显示为可移动驱动器。

因此,对于Winforms应用程序,只需让用户选择要上载的驱动器和图片即可。 拥有图片的FileStream后,您可以进行任何处理。

在ASP.net中,您将需要一个FileUpload控件,用户可以再次选择要上载的驱动器和图片。 这次处理将通过HttpRequest.Files对象上的MemoryStream进行处理。

希望有所帮助。

===============>>#5 票数:0

这取决于你的相机。

许多相机将简单地安装为USB大容量存储设备。 如果是这种情况,那么您可以像在外部磁盘上的任何其他文件一样从可见文件系统中复制文件。

如果相机没有以这种方式提供其内容,您需要查看相机驱动程序文档,以了解它们如何建议与其进行交互。

===============>>#6 票数:0

这将取决于相机的品牌。 这是一个开始为佳能的链接。

  ask by bugBurger translate from so

未解决问题?本站智能推荐:

1回复

VB.NET中的屏幕捕获程序

我创建了一个捕获桌面屏幕截图的应用程序。 与我在表单中使用的按钮配合使用时效果很好。 但是,现在我想使用计时器使它自动运行,但是每当我尝试运行程序NullReferenceException时,任何人都可以告诉我这里出了什么问题。 以下代码可以告诉您这种情况: 提前致谢...
1回复

从对话框中自动选择视频源? VB.net

我一直在玩通用的USB摄像机,每隔几秒钟拍摄一次快照。 在这个问题的帮助下,我能够使相机工作。 但是,当您单击按钮连接到摄像机时,将出现一个对话框。 另一个问题与我的问题之间的区别在于,我有两个视频源:一个内置的网络摄像头和一个USB摄像头。 我还打算连接多台相机,全部拍照。 看来
1回复

vb.net代码捕获Word文档首页的屏幕截图

您好,下面是可以捕获PNG格式的Word文档首页图像的步骤。 如果用户需要以任何其他格式捕获图像。 然后,在下面的代码中,将图像扩展名替换为所需的输出图像扩展名。 如果这个答案有用,那么别忘了投票。
6回复

如何连接到.NET中的USB网络摄像头? [关闭]

关闭。 这个问题是题外话 。 它当前不接受答案。 想改善这个问题吗? 更新问题
1回复

用C#为USB摄像机编写一个简单的Video Viewer / Frame Grabber

我是C#的入门者,但是我试图用C#(VS2013)编写一个非常简单的应用程序,以仅查看视频流或捕获Sony FCB-EV7500摄像机的帧。 相机使用CN401连接到小型USB3板,该板通过USB3连接到笔记本电脑。 例如,我可以在VLC中查看视频,但我想在C#应用程序中编写代码以获取视频/
1回复

资源匮乏,针对性强且全屏截图,为什么要使用C#? [关闭]

我希望能够使用C ++“使用大量压缩”来捕获屏幕截图,和/或更重要的是“捕获时使用很少的系统资源”。 我一直在寻找简洁,写得很好的例子,我想我发现了一些例子。 我发现大多数示例都使用C#,而很少使用C ++。 我敢肯定有一个简单/通用的答案,问这是愚蠢的。 人们为什么使用C#而不是C +
2回复

C#中的图像捕获

我正在做一个家庭项目,该项目涉及将图像与图像数据库进行比较(使用象限-或类似的直方图方法)。 我想知道我对网络摄像头或其他图像捕获设备有哪些选择: 与Windows SDK(特别是DirectShow ,我计划与C#一起使用)一起使用很容易 具有适用于64位和32位Windo
1回复

C#:从Windows服务捕获屏幕

我必须在每一秒后捕获Desktop的屏幕截图。 在Winform应用程序中它运行正常。 但在将代码移动到Windows服务后,它没有捕获屏幕截图。 知道为什么不这样做吗? 这是代码
3回复

C#-Microsoft Expression Encoder缺少参考,如何将它们添加到项目中?

我有一个具有图像捕获功能的应用程序。 当我尝试在Visual Studio 2012中构建它时,缺少对Expression Encoder的引用。 图像捕获功能已使用Microsoft Expression Encoder实现,并且使用了其API中的代码。 为了成功构建此应用程序,我要
2回复

是否存在可以在WinRT API中拍照的系统任务?

我以前在C#Window Store应用程序(WinRT)中使用了照片选择器任务。 在Windows Phone上,您可以启动一个补充任务,该任务使用户可以拍照,并返回对图像数据的引用供您消费。 我似乎在Windows Store应用程序API中找不到相同的东西。 我知道WinRT中的捕捉