![](/img/trans.png)
[英]How to find camera attached by USB cable, using C#, so I can then copy stored images
[英]how do i take picture from a digital camera attached to my computer throught USB cable using vb.net or asp.net or C#?
我正在使用vb.net/c#編寫圖片編輯窗體應用程序。 我有客戶要求從連接到計算機的數碼相機拍攝照片。
如何從我的Windows應用程序中的USB連接數碼相機設備拍攝照片?
如果您使用Windows Image Acquisition Library,您將在那里看到用於捕獲相機新圖片事件的事件。 我有類似的要求並寫了一個試驗台; 我們去了當地的相機商店,嘗試了他們擁有的每一台相機。 我們能找到支持此功能的唯一相機是尼康D系列相機。
我們發現,對於大多數相機,你甚至無法在插入時拍照。當你將它們插入USB端口時,大多數相機將切換到一種模式,他們唯一要做的就是傳輸數據。 找出相機是否可以工作的快速方法是將其插入PC,然后嘗試拍照。 如果它讓你這樣做你有機會。 它還需要支持PTP。
這取決於相機輸出的界面。 如果這是標准的大容量存儲接口,您只需使用標准文件接口,即您將相機視為可移動磁盤,並可以使用標准的創建/讀取/寫入/文件操作。
許多新相機都有ptp(圖片傳輸協議)接口。 因此,您需要使用Windows Image Acquisition API。
你可能會發現有用的鏈接 。 如果我理解正確,這是一個示例代碼,您正在尋找什么。 谷歌是你的朋友:)
另一條信息:許多相機將支持大容量存儲和ptp接口,它可以通過相機用戶界面進行選擇。 如果是自動模式,相機可能會切換到ptp界面。
我假設您要激活從連接相機的計算機拍攝照片的操作。 如果是這種情況,那么我要做的第一件事就是為特定的相機型號搜索API。 除了訪問相機內的存儲卡之外,我不相信有與數碼相機交互的標准協議/框架。
通常,相機在連接時顯示為可移動驅動器。
因此,對於Winforms應用程序,只需讓用戶選擇要上載的驅動器和圖片即可。 擁有圖片的FileStream后,您可以進行任何處理。
在ASP.net中,您將需要一個FileUpload控件,用戶可以再次選擇要上載的驅動器和圖片。 這次處理將通過HttpRequest.Files對象上的MemoryStream進行處理。
希望有所幫助。
這取決於你的相機。
許多相機將簡單地安裝為USB大容量存儲設備。 如果是這種情況,那么您可以像在外部磁盤上的任何其他文件一樣從可見文件系統中復制文件。
如果相機沒有以這種方式提供其內容,您需要查看相機驅動程序文檔,以了解它們如何建議與其進行交互。
這將取決於相機的品牌。 這是一個開始為佳能的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.