Example #1
0
        /// <summary>
        /// 抓取摘要图片数据
        /// </summary>
        /// <param name="sessionId"></param>
        /// <returns></returns>
        public System.Drawing.Image GrabBriefPictureData(Int32 sessionId)
        {
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol GrabBriefPictureData vodHandle:{0}"
                                                                                                       , sessionId
                                                                                                       ));
            uint   pictype    = (uint)E_VDA_GRAB_PIC_TYPE.E_GRAB_PIC_BMP;
            uint   buflen     = 10 * 1024 * 1024;
            IntPtr picbuf     = Marshal.AllocHGlobal((int)buflen);
            uint   picdatalen = 0;
            bool   retVal     = IVXSDKProtocol.VdaSdk_GrabBriefPictureData(sessionId, pictype, picbuf, buflen, out picdatalen);

            if (!retVal)
            {
                // 调用失败,抛异常
                CheckError();
            }
            System.Drawing.Image img = ModelParser.GetImage(picbuf, (int)picdatalen);

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol GrabBriefPictureData ret:{0},picdatalen:{1}"
                                                                                                       , retVal
                                                                                                       , picdatalen
                                                                                                       ));
            if (picbuf != IntPtr.Zero)
            {
                Marshal.FreeHGlobal(picbuf);
            }
            return(img);
        }