Hallo okieh,
meine Spielereien mit dem SDK ist ein wenig her, ist inzwischen eine unterstützung des .net Framework implementiert? Meine eigene Wrapper-Class für die anbindung der C++ DLL hat nie so wirklich funktioniert
Gruß Heiko
Huch, zwei Heikos, die mit dem Canon SDK rumspielen? Zufälle gibts...
Nee, das gute Stück ist immer noch eine reine C++ DLL und in meinen Augen ein wenig Kraut- und Rüben-Programmierung, die Doku teilweise immer noch fehlerhaft trotz rev. 2.0 und die samples grauenhaft. Was die da produziert haben war vor 10 Jahren mal moderner Code, aber heute programmiert man ein wenig anders, da haben sich in der Zwischenzeit einige Pardigmen geändert. Anscheinend haben das die Programmierer bei Canon aber noch nicht mitbekommen.
Ich selbst schreibe mir gerade einen "Object-Wrapper" in c#, was soweit schon gut funktioniert, ohne bereits alles abzudecken. Ich habe ein Kamera-Objekt und ein Bild-Objekt mit Eigenschaften und Methoden, was die Programmierung wesentlich vereinfacht. Schwierig wird es bei dem event-handling, da die Kamera (z. B. beim Umschalten von Tv auf Av) eine ganze Salve von events hintereinander abfeuert, die irgendwie im client abgefangen und in einer queue abgearbeitet werden müssen, hier kommt man um vernünftige thread-programmierung nicht rum, und dafür fehlte mir bisher die Zeit.
Die Eigenschaften im SDK heißen in der Tat "kEdsPropID_Evf_Zoom" und "kEdsPropID_Evf_ZoomPosition" und bei näherem hinsehen scheint mir, dass damit nur der Bildausschnitt des live-view vergrößert wird, aber keine direkte Steuerung des Objektivs vorgenommen wird. Dafür scheint es keine Möglichkeit im SDK zu geben, insofern muss ich meine Bemerkung von oben revidieren.
Gruß
Der andere Heiko (aka okieh)