Mam nadzieję otrzymać ogólne wskazówki dotyczące osiągnięcia pozornie prostego celu. Mam aparat DSLR (Canon EOS 50D) i muszę napisać aplikację, która powie kamery, aby zrobić zdjęcie. Muszę też przesłać obraz do komputera i ewentualnie usunąć go z pamięci kamery. Premia to uzyskanie podglądu na żywo z kamery w mojej aplikacji. Moje środowisko to Windows (XP Pro lub Vista Enterprise) i .Net 3.5 (C#).Przyciąganie obrazów z Windows C# Canon SDK vs PTP lub MTP
Zrobiłem kilka badań i znalazłem kilka opcji. Ktoś, kogo znam, będzie działał, ale ogranicza mnie do używania w przyszłości tylko aparatów Canon. Znalazłem i pobrałem zestaw SDK firmy Canon, który zapewnia wiele funkcji. Zerknąłem na SDK i gdy jest on obszerny i napisany w C, ma owijki C#, które przyspieszą rozwój.
Inna opcja, którą znalazłem nazywa się urządzenia przenośne z systemem Windows. Najwyraźniej jest to interfejs API, który będzie rozmawiał z urządzeniami, które implementują standardy PTP i MTP. Jest oparty na COM i na tyle, na ile mogę to stwierdzić, nie ma owijaczy .Net. To nie jest jednak przystanek na pokaz. Mogę P/Inwokować potrzebną funkcjonalność lub napisać bibliotekę DLL zarządzanego C++, aby użyć jej w mojej aplikacji do rozmowy z kamerą.
Szukam kogoś, kto ma doświadczenie w pracy z WPD, by dać mi wskazówki. Przeanalizowałem dokumentację i widziałem odniesienia do przesyłania obrazów i usuwania obrazów. Nie widziałem jednak wzmianki o poleceniach do zrobienia zdjęcia, uzyskania obrazu podglądu ani o fokusie/automatycznym ustawianiu ostrości.
Jestem zainteresowany widząc odpowiedź na to pytanie. Osobiście, jeśli sam piszę tę aplikację, najpierw wypróbuję Canon SDK. Poza tym, jeśli masz już zestaw obiektywów Canon, prawdopodobnie będziesz trzymać się z Canon w przyszłości :-). –
To brzmi jak świetny projekt CodePlex. Mam Rebel XTi i to brzmi jak zabawna koncepcja do pracy. Jeśli zdecydujesz się rozpocząć projekt CodePlex, zdecydowanie daj mi znać! –
Kontynuowane są prace nad opakowaniem C++/CLI dla pakietu Canon SDK. To było prawdziwe wyzwanie. Nie sądzę, bym mógł wydać projekt CodePlex, ponieważ nie będę miał prawa do kodu. Przepraszam. Chciałbym mieć więcej swobody w tym zakresie. – Nate