Пример #1
0
        /// <summary>
        /// 用于向Hik相机句柄注册的回调函数,必须
        /// </summary>
        /// <param name="pData"></param>
        /// <param name="pFrameInfo"></param>
        /// <param name="pUser"></param>
        static void HikFrameCallback(IntPtr pData, ref MV_FRAME_OUT_INFO_EX pFrameInfo, IntPtr pUser)
        {
            GCHandle         hd  = GCHandle.FromIntPtr(pUser);
            JFCamera_HikGige cmr = hd.Target as JFCamera_HikGige;

            cmr._HikFrameCallback(pData, ref pFrameInfo);
        }
Пример #2
0
        void _HikFrameCallback(IntPtr pData, ref MV_FRAME_OUT_INFO_EX pFrameInfo)
        {
            MVCC_INTVALUE stVal = new MVCC_INTVALUE();
            int           err   = _hikCmr.MV_CC_GetIntValue_NET("PayloadSize", ref stVal);

            if (MyCamera.MV_OK != err)
            {
                throw new Exception("HikFrameCallback failed bt MV_CC_GetIntValue_NET(\"PayloadSize\") return errorCode = " + err);
            }
            _payloadSize = (int)stVal.nCurValue;
            byte[] bytes = new byte[_payloadSize];
            Marshal.Copy(pData, bytes, 0, _payloadSize);
            JFImage_Hik img = new JFImage_Hik(bytes, pFrameInfo, _hikCmr);

            if (null != AcqFrameEvent)
            {
                AcqFrameEvent(this, img);
            }
        }