我正在尝试使用EDSDK lib从实时取景框中更改相机上的焦点。我不知道该怎么做,我的意思是,不知道我必须设置什么属性才能改变焦点。你们有什么想法或样品吗?顺便说一句,我已经能够更改一些其他值,例如、或color temperature。click
ISO
AV
TV
先感谢您!
在触发焦点命令之前设置一个EdsPoint
into 。kEdsPropID_Evf_ZoomPosition
“Zoom”这个名字有点令人困惑,但是这个属性:
获取/设置实时取景的焦点和缩放边框位置。使用 EdsCameraRef 设置焦点和缩放边界,但使用实时取景图像数据,换句话说,使用 EdsEvfImageRef 获得。
您可以设置缩放点将此方法添加到相机类。
public void SetZoomPositionSetting(PropertyID propID, Point value, int inParam = 0)
{
CheckState();
int size = Marshal.SizeOf(typeof(Point));
ErrorCode err = CanonSDK.EdsSetPropertyData(CamRef, propID, inParam, size, value);
}
并像这样调用这个方法。MainCamera.SetZoomPositionSetting(PropertyID.Evf_ZoomPosition, p); 这里的 p 是 EOSDigital.SDK.Point 实例。
并且不要忘记将相机设置更改为 AF Live 模式。(不是快速模式)