Ejemplo n.º 1
0
        /// <summary>
        /// 使用当前绑定的相机进行采集
        /// </summary>
        /// <returns></returns>
        public bool Snap()
        {
            if (m_Camera != null)
            {
                if (m_visionControl != null)
                {
                    m_visionControl.LockDisplay();
                }
                if (m_Camera.Snap() != 0)
                {
                    //if (m_visionControl != null)  //控件图像区还未初始化时先初始化
                    //{
                    //    //todo
                    //    m_visionControl.DispImageFull(m_Camera.GetImage());
                    //}

                    imgSrc?.Dispose();
                    imgSrc = m_Camera.GetImage();

                    if (m_visionControl != null)
                    {
                        m_visionControl.UnlockDisplay();
                    }
                    return(true);
                }
            }
            if (m_visionControl != null)
            {
                m_visionControl.UnlockDisplay();
            }
            return(false);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 手动调试用,指定相机拍照
        /// </summary>
        /// <param name="strCamera"></param>
        /// <returns></returns>
        public HObject CameraSnap(string strCamera)
        {
            CameraBase cb = null;

            if (m_dicCamera.TryGetValue(strCamera, out cb))
            {
                if (cb.isOpen() == false)
                {
                    cb.Open();
                }
                if (cb.Snap() != 0)
                {
                    //  ShowLog(strCamera + " snap ok! ");
                    //     SystemMgr.GetInstance().GetImagePath(strCamera)
                    return(cb.GetImage());
                }
            }
            //  ShowLog(strCamera + " snap fail!");
            return(null);
        }