以编程方式禁用AF?

时间:2014-07-03 06:56:08

标签: c# focus edsdk canon-sdk

我有一台EOS 1100D并使用edsdk通过我的相机从我的电脑拍照 在手动模式下我应该可以查看每个属性,在佳能发布的 EOS Utility 中,在手动模式下,用户可以在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 个答案:

答案 0 :(得分:1)

你可以使用EdsSendCommand执行此操作,其中inCommand是kEdsCameraCommand_PressShutterButton,inParam是kEdsCameraCommand_ShutterButton_值之一。
有了它,你可以控制快门按钮(即远程按下它) 要在没有AF的情况下拍摄照片,只需使用值CameraCommand_ShutterButton_Completely_NonAF
但拍摄照片后别忘了将它设置回CameraCommand_ShutterButton_OFF! 在EDSDK文档中,您可以在第42页和第43页找到详细信息。