/// <summary> /// 抓图并获取数据 /// </summary> /// <param name="vodHandle">点播标示句柄</param> /// <returns>图片</returns> public System.Drawing.Image GrabPicture(Int32 vodHandle) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GrabPictureData vodHandle:{0}" , vodHandle )); 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_GrabPictureData(vodHandle, 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 VdaSdk_GrabPictureData ret:{0},picdatalen:{1}" , retVal , picdatalen )); if (picbuf != IntPtr.Zero) { Marshal.FreeHGlobal(picbuf); } return(img); }