2014-07-03 83 views
1

我有一臺EOS 1100D,並使用edsdk從我的電腦上用相機拍攝照片。
手動模式我應該可以修補所有功能,並且在佳能發佈的EOS Utility中,在手動模式下,用戶可以在AF和MF之間切換。所以,應該有一個財產!以編程方式禁用AF?

我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頁找到詳細信息。

+0

感謝您的回答Johannes。我下載了* EDSDK Documatation *,並且在這個部分中,在描述字段中,它表示:**控制快門按鈕操作。 此命令由EOS 50D或EOS 5D Mark II或更高版本的相機支持**正如我所說的,我的相機是EOS 1100D。所以,這似乎不適合我。 – aisa

+0

@ayssa是的,它的確適用於1100D。後來的意思就是在稍後發佈。 50D在2008年發佈,在2011年發佈1100D。試試看,你會看到。 –