我希望能夠獲得一些有關完成一個看似簡單的目標的一般指導。我有一臺數碼單反相機(Canon EOS 50D),需要編寫一個能夠告訴相機拍照的應用程序。我還需要將照片傳輸到計算機,並可能將其從相機的存儲中刪除。獎金將是在我的應用程序中從相機獲得實時預覽。我的環境將是Windows(XP Pro或Vista Enterprise)和.Net 3.5(C#)。從Windows C#Canon SDK vs PTP或MTP捕捉圖片
我已經做了一些研究並找到了幾個選項。我知道的一個將會起作用,但是這限制了我未來僅使用佳能相機。我找到並從佳能下載了一個SDK,提供了很多這種功能。我研究過SDK,雖然它很廣泛,並且用C語言編寫,但它確實有C#包裝,可以加快開發速度。
我發現的另一個選項叫做Windows便攜式設備。顯然,它是一個API,可以與實現PTP和MTP標準的設備進行通信。它基於COM,據我所知它沒有.Net包裝。然而,這不是一個表演塞子。我可以P /調用我需要的功能或編寫一個Managed C++ DLL在我的應用程序中用於與攝像頭對話。
我正在尋找任何有WPD經驗的人來給我指點。我仔細閱讀了文檔並看到了傳輸圖像和刪除圖像的參考。然而,我沒有看到提到拍攝照片,獲得預覽圖像或者說對焦/自動對焦的命令。
我很想看到這個問題的答案。就個人而言,如果我只是爲自己編寫應用程序,我會先試用Canon SDK。另外,如果你已經有一套佳能鏡頭,你可能會在將來繼續使用佳能:-)。 – 2009-11-10 19:21:31
這聽起來像是一個很棒的CodePlex項目。我有一個Rebel XTi,這聽起來像是一個有趣的概念。如果你決定開始一個CodePlex項目,一定要讓我知道! – 2009-11-10 19:34:12
繼續使用Canon SDK的C++/CLI包裝器。這是一個真正的挑戰。我不認爲我能夠發佈CodePlex項目,因爲我無權獲得代碼。抱歉。我希望在這方面有更多的自由。 – Nate 2009-11-20 03:17:50