Software

Die Software war ein wichtiger Punkt auf der Liste. Im ersten Schritt schaute ich mir bereits verfügbare Software an. Gegen diese Programme sprachen mehrere Punkte:

  • Kosten von meist ca. 300 €
  • Mangelnde Performance auf dem Uralt-Laptop
  • Bedienung nicht zufriedenstellend

Daher entschied ich mich, mich selbst an der Kamerasteuerung zu versuchen. Als Softwareentwickler eine Herausforderung, die man gerne annimmt 😉

Zuerst galt es, die Kamera an sich anzusteuern, um den Auslöser zu betätigen und das gemachte Foto von der Kamera auf den Laptop zu übertragen. Hierzu stellt Canon freundlicherweise das Canon EOS Digital SDK (EDSDK) zur Verfügung. Zusätzlich stellt Johannes Bildstein einen Wrapper für dieses SDK zur Verfügung, welcher die Verwendung unter C# sehr komfortabel macht. Die Ansteuerung mittles einer kleinen Konsolen-Applikation war somit recht einfach.

Nun brauchte das ganze noch eine simple grafische Oberfläche. Die Fotobox sollte während des Betriebs eine Diashow in zufälliger Reihenfolge der bereits gemachten Fotos zeigen, und bei Drücken des Buzzers auf eine Live-View-Ansicht der Kamera wechseln. Da der Prozessor des Laptops (erste Generation Centrino) selbst unter solch einfachen Aufgaben ziemlich ätzte, versuchte ich im ersten Schritt die dedizierte Grafikkarte (Mobility Radeon) direkt über OpenGL anzusteuern, musste aber schnell feststellen, dass DAS für eine einfache Diashow ein immenser Aufwand ist.
Zum Glück fand ich irgendwann heraus, dass WPF ab Windows Vista Hardwareunterstützung über WDDM anbietet und so fiel die Wahl auf eine Umsetzung über WPM.

So konnte ich in meiner gewohnten C#-Umgebung alle Teile der Entwicklung umsetzen. Bislang war die Fotobox außer auf meiner eigenen Hochzeit noch auf zwei weiteren Events im Einsatz und hat stets einwandfrei funktioniert!