/// <summary> /// 设置CameraControlProperty的值 /// 有做有效值判断 /// </summary> /// <param name="cameraControlProperty"></param> /// <param name="perpertyValue"></param> public void SetParameterValue(CameraControlProperty cameraControlProperty, int perpertyValue) { if (_propertyToRangeParameter.ContainsKey(cameraControlProperty) || this.GetRangeParameterValue(cameraControlProperty) != null) { CameraControlRangeParameter cameraControlRangeParameter = _propertyToRangeParameter[cameraControlProperty]; int ensureValue = Math.Min(Math.Max(cameraControlRangeParameter.MinValue, perpertyValue), cameraControlRangeParameter.MaxValue); this._cameraControl.Set(cameraControlProperty, ensureValue, CameraControlFlags.Manual); } }
public CameraControlRangeParameter GetRangeParameterValue(CameraControlProperty property) { CameraControlRangeParameter _model = new CameraControlRangeParameter(); int Min, Max, Step, Default; CameraControlFlags _flgs; int hr2 = iAMCameraControl.GetRange(property, out Min, out Max, out Step, out Default, out _flgs); DsError.ThrowExceptionForHR(hr2); _model.MinValue = Min; _model.MaxValue = Max; _model.SetpValue = Step; _model.DefaultValue = Default; _model.CameraControlFlags = _flgs; return(_model); }
/// <summary> /// 获取可设置范围值 /// </summary> /// <param name="cameraControlProperty"></param> /// <returns></returns> public CameraControlRangeParameter GetRangeParameterValue(CameraControlProperty cameraControlProperty) { CameraControlRangeParameter cameraControlRangeParameter = null; try { int hr = this._cameraControl.GetRange(cameraControlProperty, out int min, out int max, out int step, out int defaultValue, out CameraControlFlags cameraControlFlags); string sss = DsError.GetErrorText(hr); if (hr == 0) { cameraControlRangeParameter = new CameraControlRangeParameter { CameraControlProperty = cameraControlProperty, MinValue = min, MaxValue = max, StepValue = step, DefaultValue = defaultValue, Flags = cameraControlFlags }; //加入字典 if (_propertyToRangeParameter.ContainsKey(cameraControlProperty)) { _propertyToRangeParameter[cameraControlProperty] = cameraControlRangeParameter; } else { _propertyToRangeParameter.Add(cameraControlProperty, cameraControlRangeParameter); } } } catch (Exception) { } return(cameraControlRangeParameter); }