示例#1
0
        /// <summary>
        /// 视频截图,默认BMP格式
        /// </summary>
        /// <param name="saveImageFilePath">图片格式存储全路径;eg:D:\20170913162510.jpeg</param>
        /// <param name="imageType">图片格式</param>
        /// <returns>操作结果</returns>
        public OperatedResult Capture(string saveImageFilePath, CaptureImageType imageType = CaptureImageType.BMP)
        {
            if (!IsPreviewing)
            {
                return(OperatedResult.Fail("尚未处于视频预览状态,不能进行视频截图操作."));
            }

            string _captureImageFile = string.IsNullOrEmpty(saveImageFilePath) != true ? saveImageFilePath : string.Format(@"{0}\{1}.{2}", CaptureFolders, DateTime.Now.ToString("yyyyMMddHHmmss"), imageType.ToString().ToLower());
            bool   _result           = false;

            switch (imageType)
            {
            case CaptureImageType.BMP:
                _result = CHCNetSDK.NET_DVR_CapturePicture(previewId, _captureImageFile);
                break;

            case CaptureImageType.JPEG:
                CHCNetSDK.NET_DVR_JPEGPARA _jpegParamter = new CHCNetSDK.NET_DVR_JPEGPARA();
                _jpegParamter.wPicQuality = 0;     //图像质量 Image quality
                _jpegParamter.wPicSize    = 0xff;  //抓图分辨率 Picture size: 2- 4CIF,0xff- Auto(使用当前码流分辨率),抓图分辨率需要设备支持,更多取值请参考SDK文档
                _result = CHCNetSDK.NET_DVR_CaptureJPEGPicture(UserId, CurPreviewChannelNo, ref _jpegParamter, _captureImageFile);
                break;
            }

            return(_result == true?OperatedResult.Success(_captureImageFile) : OperatedResult.Fail(LastErrorMessage));
        }
示例#2
0
        private void UpdateBtnStatus(CaptureImageType newStatus)
        {
            captureImageType = newStatus;
            switch (captureImageType)
            {
            case CaptureImageType.None:
                StopPreview();
                txtDetail.Text   = "";
                txtScore.Text    = "";
                txtUsrename.Text = "";
                LvFaceList.Clear();
                LvFaceList.Enabled          = true;
                ImageBoxCapturedImage.Image = null;
                BtnCancel.Enabled           = false;
                BtnStartPreview.Enabled     = true;
                BtnStartPreview.Text        = "New Person";
                BtnSaveFace.Enabled         = false;
                BtnCheckFace.Enabled        = false;
                BtnListPeople.Enabled       = true;
                BtnCaptureFace.Enabled      = false;
                if (tracker != null)
                {
                    tracker.Dispose();
                    tracker.TrackingFaces.Clear();
                }
                if (people != null)
                {
                    people.Clear();
                }
                selectedPerson = null;
                //ListFaceFromServer();
                UpdateDeleteBtn();
                break;

            case CaptureImageType.NewPerson:
                LvFaceList.Clear();
                LvFaceList.Enabled      = false;
                BtnCancel.Enabled       = true;
                BtnStartPreview.Enabled = false;
                BtnSaveFace.Enabled     = false;
                BtnCheckFace.Enabled    = false;
                BtnListPeople.Enabled   = false;
                BtnCaptureFace.Enabled  = true;
                UpdateDeleteBtn();
                break;

            case CaptureImageType.CurrentPerson:
                BtnCancel.Enabled       = true;
                BtnStartPreview.Enabled = true;
                BtnStartPreview.Text    = "Start Preview";
                UpdateSaveBtn();
                BtnCheckFace.Enabled   = false;
                BtnListPeople.Enabled  = false;
                BtnCaptureFace.Enabled = false;
                UpdateDeleteBtn();
                break;

            case CaptureImageType.UpdatePerson:
                LvFaceList.Clear();
                LvFaceList.Enabled      = false;
                BtnCancel.Enabled       = true;
                BtnStartPreview.Enabled = false;
                BtnSaveFace.Enabled     = false;
                BtnCheckFace.Enabled    = false;
                BtnListPeople.Enabled   = false;
                BtnCaptureFace.Enabled  = true;
                UpdateDeleteBtn();
                break;

            case CaptureImageType.NewPersonCaptured:
                LvFaceList.Enabled           = true;
                LvFaceList.Items[0].Selected = true;
                LvFaceList.Items[0].Checked  = true;
                BtnCancel.Enabled            = true;
                BtnStartPreview.Enabled      = false;
                UpdateSaveBtn();
                UpdateCheckImageBtn();
                BtnListPeople.Enabled  = false;
                BtnCaptureFace.Enabled = true;
                UpdateDeleteBtn();
                break;

            case CaptureImageType.UpdatePersonCaptured:
                LvFaceList.Enabled           = true;
                LvFaceList.Items[0].Selected = true;
                LvFaceList.Items[0].Checked  = true;
                BtnCancel.Enabled            = true;
                BtnStartPreview.Enabled      = false;
                UpdateSaveBtn();
                UpdateCheckImageBtn();
                BtnListPeople.Enabled  = false;
                BtnCaptureFace.Enabled = true;
                UpdateDeleteBtn();
                break;
            }
            TxtErrorMessage.Text = captureImageType.ToString();
        }