コード例 #1
0
        public CameraControl(int cameraId, int controlIndex)
        {
            _cameraId = cameraId;

            _props = ASICameraDll.GetControlCaps(_cameraId, controlIndex);
            _auto  = GetAutoSetting();
        }
コード例 #2
0
        private bool GetAutoSetting()
        {
            bool isAuto;

            ASICameraDll.GetControlValue(_cameraId, _props.ControlType, out isAuto);
            return(isAuto);
        }
コード例 #3
0
 public void CloseCamera()
 {
     _info     = null;
     _controls = null;
     ASICameraDll.CloseCamera(_cameraId);
     _status = ASI_STATUS.CLOSED;
 }
コード例 #4
0
 public void OpenCamera()
 {
     ASICameraDll.OpenCamera(_cameraId);
     _info = ASICameraDll.GetCameraProperties(_cameraId);
     ASICameraDll.InitCamera(_cameraId);
     _status = ASI_STATUS.OPENED;
 }
コード例 #5
0
        public static Camera GetCameraByIndex(int cameraIndex)
        {
            if (cameraIndex >= Count || cameraIndex < 0)
            {
                throw new IndexOutOfRangeException();
            }

            ASICameraDll.ASI_CAMERA_INFO infoTemp = ASICameraDll.GetCameraProperties(cameraIndex);
            int cameraId = infoTemp.CameraID;

            return(_cameras[cameraId] ?? (_cameras[cameraId] = new Camera(cameraId)));
        }
コード例 #6
0
 public bool GetExposureData(IntPtr buffer, int bufferSize)
 {
     return(ASICameraDll.GetDataAfterExp(_cameraId, buffer, bufferSize));
 }
コード例 #7
0
 public void StopExposure()
 {
     ASICameraDll.StopExposure(_cameraId);
 }
コード例 #8
0
 public void StartExposure(int exposureMs, bool isDark)
 {
     ASICameraDll.StartExposure(_cameraId, exposureMs, isDark);
     _status = ASI_STATUS.EXPOSURING;
 }
コード例 #9
0
 public void PulseGuideOff(ASICameraDll.ASI_GUIDE_DIRECTION direction)
 {
     ASICameraDll.PulseGuideOff(_cameraId, direction);
 }
コード例 #10
0
 public bool GetVideoData(IntPtr buffer, int bufferSize, int waitMs)
 {
     return(ASICameraDll.GetVideoData(_cameraId, buffer, bufferSize, waitMs));
 }
コード例 #11
0
 public void StopVideoCapture()
 {
     ASICameraDll.StopVideoCapture(_cameraId);
     _status = ASI_STATUS.OPENED;
 }
コード例 #12
0
 public void StartVideoCapture()
 {
     ASICameraDll.StartVideoCapture(_cameraId);
     _status = ASI_STATUS.EXPOSURING;
 }
コード例 #13
0
 public void DisableDarkSubtract()
 {
     ASICameraDll.DisableDarkSubtract(_cameraId);
 }
コード例 #14
0
 public bool EnableDarkSubtract(string darkImageFilePath)
 {
     return(ASICameraDll.EnableDarkSubtract(_cameraId, darkImageFilePath));
 }
コード例 #15
0
 private void RefreshCameraInfoCache()
 {
     using (MyStopWatch.Measure()) {
         _info = ASICameraDll.GetCameraProperties(_cameraId);
     }
 }