Отключить AF программно?
У меня EOS 1100D и я использую edsdk для того, чтобы сфотографировать мою камеру с моего компьютера.
в ручном режиме я должен чередовать все свойства, а в EOS Utility, выпущенной Canon, в ручном режиме пользователь может переключаться между AF и MF. Итак, должна быть собственность!
Что я нашел в EDSDK.cs:
/*---------------------------------------------
Focus Info
----------------------------------------------*/
[StructLayout(LayoutKind.Sequential)]
public struct EdsFocusPoint
{
public uint valid;
public uint selected;
public uint justFocus;
public EdsRect rect;
public uint reserved;
}
[StructLayout(LayoutKind.Sequential)]
public struct EdsFocusInfo
{
public EdsRect imageRect;
public uint pointNumber;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
public EdsFocusPoint[] focusPoint;
public uint executeMode;
}
Как я могу установить это executeMode
?
На самом деле, я должен установить, что для AF и что для MF?
1 ответ
Вы можете сделать это с EdsSendCommand, где inCommand - это kEdsCameraCommand_PressShutterButton, а inParam - это одно из значений kEdsCameraCommand_ShutterButton_.
С его помощью вы можете управлять кнопкой затвора (т.е. нажимать ее дистанционно).
Чтобы сделать фотографию без автофокуса, вы просто используете значение CameraCommand_ShutterButton_Completely_NonAF
Но не забудьте установить его обратно в CameraCommand_ShutterButton_OFF после того, как вы сделали фотографию! В документации EDSDK вы можете найти подробности на стр. 42 и 43.