private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser, string commType) { CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //报警设备IP地址 string strIP = pAlarmer.sDeviceIP; //保存抓拍图片 for (int i = 0; i < struITSPlateResult.dwPicNum; i++) { if (struITSPlateResult.struPicInfo[i].dwDataLen != 0) { if (!Directory.Exists(m_OutputDir + strIP + "\\")) { Directory.CreateDirectory(m_OutputDir + strIP + "\\"); } string str = m_OutputDir + strIP + "\\" + pAlarmer.lUserID + "_Pictype_" + struITSPlateResult.struPicInfo[i].byType + "_Num" + (i + 1) + ".jpg"; FileStream fs = new FileStream(str, FileMode.Create); int iLen = (int)struITSPlateResult.struPicInfo[i].dwDataLen; byte[] by = new byte[iLen]; Marshal.Copy(struITSPlateResult.struPicInfo[i].pBuffer, by, 0, iLen); fs.Write(by, 0, iLen); fs.Close(); } } //抓拍时间:年月日时分秒 string strTimeYear = string.Format("{0:D4}", struITSPlateResult.struSnapFirstPicTime.wYear) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMonth) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byDay) + " " + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byHour) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMinute) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.bySecond) + ":" + string.Format("{0:D3}", struITSPlateResult.struSnapFirstPicTime.wMilliSec); //上传结果 string stringAlarm = "抓拍上传," + "车牌:" + struITSPlateResult.struPlateInfo.sLicense + ",车辆序号:" + struITSPlateResult.struVehicleInfo.dwIndex; if (NoticeAlarmEvent != null) { //创建该控件的主线程直接更新信息列表 string ccommType = ObjectCopier.Clone <string>(commType); string cstrIP = ObjectCopier.Clone <string>(strIP); string cstringAlarm = ObjectCopier.Clone <string>(stringAlarm); NoticeAlarmEvent(ccommType, DateTime.Now.ToString(), cstrIP, cstringAlarm); } }
private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //保存抓拍图片 //for (int i = 0; i < struITSPlateResult.dwPicNum; i++) //{ // if (struITSPlateResult.struPicInfo[i].dwDataLen != 0) // { // string str = "D:/UserID_" + pAlarmer.lUserID + "_Pictype_" + struITSPlateResult.struPicInfo[i].byType + "_Num" + (i + 1) + ".jpg"; // FileStream fs = new FileStream(str, FileMode.Create); // int iLen = (int)struITSPlateResult.struPicInfo[i].dwDataLen; // byte[] by = new byte[iLen]; // Marshal.Copy(struITSPlateResult.struPicInfo[i].pBuffer, by, 0, iLen); // fs.Write(by, 0, iLen); // fs.Close(); // } //} //报警设备IP地址 string strIP = pAlarmer.sDeviceIP; //抓拍时间:年月日时分秒 string strTimeYear = string.Format("{0:D4}", struITSPlateResult.struSnapFirstPicTime.wYear) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMonth) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byDay) + " " + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byHour) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMinute) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.bySecond) + ":" + string.Format("{0:D3}", struITSPlateResult.struSnapFirstPicTime.wMilliSec); //上传结果 //string stringAlarm = "抓拍上传," + "车牌:" + struITSPlateResult.struPlateInfo.sLicense + ",车辆序号:" + struITSPlateResult.struVehicleInfo.dwIndex; string stringAlarm = struITSPlateResult.struPlateInfo.sLicense; if (InvokeRequired) { object[] paras = new object[3]; paras[0] = strTimeYear;//当前系统时间为:DateTime.Now.ToString(); paras[1] = strIP; paras[2] = stringAlarm; lbl_chepaihao.BeginInvoke(new UpdateListBoxCallback(UpdateClientList), paras); } else { //创建该控件的主线程直接更新信息列表 UpdateClientList(DateTime.Now.ToString(), strIP, stringAlarm); } }
private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //保存抓拍图片 for (int i = 0; i < struITSPlateResult.dwPicNum; i++) { if (struITSPlateResult.struPicInfo[i].dwDataLen != 0) { string str = "ITS_UserID_[" + pAlarmer.lUserID + "]_Pictype_" + struITSPlateResult.struPicInfo[i].byType + "_Num" + (i + 1) + ".jpg"; FileStream fs = new FileStream(str, FileMode.Create); int iLen = (int)struITSPlateResult.struPicInfo[i].dwDataLen; byte[] by = new byte[iLen]; Marshal.Copy(struITSPlateResult.struPicInfo[i].pBuffer, by, 0, iLen); fs.Write(by, 0, iLen); fs.Close(); } } //报警设备IP地址 string strIP = pAlarmer.sDeviceIP; //抓拍时间:年月日时分秒 string strTimeYear = string.Format("{0:D4}", struITSPlateResult.struSnapFirstPicTime.wYear) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMonth) + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byDay) + " " + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byHour) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMinute) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.bySecond) + ":" + string.Format("{0:D3}", struITSPlateResult.struSnapFirstPicTime.wMilliSec); //上传结果 string stringPlateLicense = System.Text.Encoding.GetEncoding("GBK").GetString(struITSPlateResult.struPlateInfo.sLicense).TrimEnd('\0'); string stringAlarm = "抓拍上传," + "车牌:" + stringPlateLicense + ",车辆序号:" + struITSPlateResult.struVehicleInfo.dwIndex; this.Invoke(new Action(() => { txtCarInfo.Text += Environment.NewLine + DateTime.Now.ToString() + " " + strIP + " " + stringAlarm; txtCarNO.Text = stringPlateLicense; })); }
private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //保存抓拍图片 for (int i = 0; i < struITSPlateResult.dwPicNum; i++) { if (struITSPlateResult.struPicInfo[i].dwDataLen != 0) { string str = "D:/UserID_" + pAlarmer.lUserID + "_Pictype_" + struITSPlateResult.struPicInfo[i].byType + "_Num" + (i + 1) + ".jpg"; FileStream fs = new FileStream(str, FileMode.Create); int iLen = (int)struITSPlateResult.struPicInfo[i].dwDataLen; byte[] by = new byte[iLen]; Marshal.Copy(struITSPlateResult.struPicInfo[i].pBuffer, by, 0, iLen); fs.Write(by, 0, iLen); fs.Close(); } } }
private void ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { int dvrloginid = pAlarmer.lUserID; var dvs = devicelists.Where(x => x.DVRLoginID == dvrloginid); if (dvs.Count() == 0) { if (OnShowInfoData != null) { OnShowInfoData(InfoType.抓拍信息, null, "没有找到对应的注册设备,回调注册号:" + dvrloginid); } return; } DeviceInfo di = (DeviceInfo)dvs.ToArray()[0]; if (di.beginTime != DateTime.MinValue) { if (DateTime.Now < di.beginTime || DateTime.Now > di.endTime) { return; } } CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); string imgBase64 = ""; struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //保存抓拍图片 for (int i = 0; i < struITSPlateResult.dwPicNum; i++) { if (struITSPlateResult.struPicInfo[i].byType == 1) { if (struITSPlateResult.struPicInfo[i].dwDataLen != 0) { int iLen = (int)struITSPlateResult.struPicInfo[i].dwDataLen; byte[] by = new byte[iLen]; Marshal.Copy(struITSPlateResult.struPicInfo[i].pBuffer, by, 0, iLen); imgBase64 = Convert.ToBase64String(by); if (IsSaveImage) { SaveImage(by, di.DeviceName + "_" + struITSPlateResult.struPicInfo[i].byType.ToString()); } } } } //log4net.ILog log = log4net.LogManager.GetLogger("abc"); //log.Debug(Newtonsoft.Json.JsonConvert.SerializeObject(struITSPlateResult)); //抓拍时间:年月日时分秒 string strTimeYear = string.Format("{0:D4}", struITSPlateResult.struSnapFirstPicTime.wYear) + "-" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMonth) + "-" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byDay) + " " + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byHour) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.byMinute) + ":" + string.Format("{0:D2}", struITSPlateResult.struSnapFirstPicTime.bySecond); di.LastTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 对上传的车牌含颜色,对其做处理 string carNo = struITSPlateResult.struPlateInfo.sLicense; if (carNo.Length > 7) { carNo = carNo.Substring(carNo.Length - 7, 7); } //struITSPlateResult.struPlateInfo.sLicense 车牌号码 //struITSPlateResult.byVehicleType //车型识别:0- 未知,1- 客车(大型),2- 货车(大型),3- 轿车(小型),4- 面包车, //5- 小货车,6- 行人,7- 二轮车,8- 三轮车,9- SUV/MPV,10- 中型客车 //设置车辆类型 string CarType = "Z"; switch (struITSPlateResult.byVehicleType) { case 1: case 10: CarType = "K"; break; case 2: CarType = "H"; break; case 3: case 4: case 5: case 9: CarType = "X"; break; } //设置车牌颜色 string CarNocolor = "4"; switch ((CHCNetSDK.VCA_PLATE_COLOR)struITSPlateResult.struPlateInfo.byColor) { case CHCNetSDK.VCA_PLATE_COLOR.VCA_BLUE_PLATE: //蓝色车牌 CarNocolor = "2"; break; case CHCNetSDK.VCA_PLATE_COLOR.VCA_YELLOW_PLATE: //黄色车牌 CarNocolor = "1"; break; case CHCNetSDK.VCA_PLATE_COLOR.VCA_WHITE_PLATE: //白色车牌 CarNocolor = "0"; break; case CHCNetSDK.VCA_PLATE_COLOR.VCA_BLACK_PLATE: //黑色车牌 CarNocolor = "3"; break; case CHCNetSDK.VCA_PLATE_COLOR.VCA_GREEN_PLATE: //绿色车牌 CarNocolor = "5"; break; default: break; } //设置车辆方向 //string CarDirection = struITSPlateResult.byDir == 1 ? "19" : "20"; //使用触发的车道号来判断方向 string CarDirection = struITSPlateResult.byDriveChan == 1 ? "19" : "20"; //上传结果 string stringAlarm = "[" + di.UnitName + "-" + di.DeviceAddress + "]抓拍上传," + "车牌:" + carNo + ",方向:" + (CarDirection == "19" ? "进入" : "离开"); carservice.SaveCarInfo(di.DeviceName, carNo, strTimeYear, CarNocolor, CarType, CarDirection, imgBase64); if (OnShowInfoData != null) { OnShowInfoData(InfoType.抓拍信息, di, stringAlarm); } }
public uint ProcessCommAlarm_ITSPlate(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { DateTime dtS = DateTime.Now; CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); TimeSpan ts = DateTime.Now - dtS; Log.WritePlateLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + " 摄像机抓拍完成时间1:" + ts.TotalMilliseconds + "\r\n"); MF.CameraCanpost.WaitOne(1000); MF.AddOperLogCacheStr("进入报警布防回调函数,图片" + struITSPlateResult.dwPicNum.ToString() + "张.."); string res = "成功"; int iLen = (int)struITSPlateResult.struPicInfo[0].dwDataLen; byte[] by = new byte[iLen]; if (iLen > 0) { res = "成功"; } else { res = "失败"; } MF.AddOperLogCacheStr("取图返回:" + res); if (struITSPlateResult.struPlateInfo.sLicense.Equals("无车牌")) { GetPlateNo = "未检测"; } else { string temp = ""; switch (struITSPlateResult.struPlateInfo.byColor) { case 0: temp = "蓝"; break; case 1: temp = "黄"; break; case 2: temp = "白"; break; case 3: temp = "黑"; break; case 4: temp = "绿"; break; default: break; } GetPlateNo = struITSPlateResult.struPlateInfo.sLicense; } if (GetPlateNo.Equals("")) { GetPlateNo = "无牌车"; } MF.AddOperLogCacheStr("车牌: " + GetPlateNo); GetVehicleLogoRecog = ""; GetVehicleLogoRecog = CHCNetSDK.VLR_VEHICLE_CLASS[struITSPlateResult.struVehicleInfo.byVehicleLogoRecog]; FlieClass fc = new FlieClass(); string dirpath = GlobalMember.SavePicPath + "\\"; DateTime forcetimedt = DateTime.Now; string forcetime = forcetimedt.ToString("yyyyMMddHHmmss"); string imagename = forcetime + GetPlateNo + ".bmp"; dirpath += DateTime.Now.Year.ToString(); dirpath += "年\\"; dirpath += DateTime.Now.Month.ToString(); dirpath += "月\\"; dirpath += DateTime.Now.Day.ToString(); dirpath += "日\\"; imagepath = dirpath + imagename; //暂时放这里 ts = DateTime.Now - dtS; Log.WritePlateLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + " 摄像机抓拍完成时间2:" + ts.TotalMilliseconds + "\r\n"); Marshal.Copy(struITSPlateResult.struPicInfo[0].pBuffer, by, 0, iLen); try { if (true == fc.WriteFileImage(dirpath, imagename, by, 0, iLen)) { //MF.CameraCanpost.WaitOne(300); MF.CameraPicture.Set(); ts = DateTime.Now - dtS; Log.WritePlateLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + " 摄像机抓拍完成时间3:" + ts.TotalMilliseconds + "\r\n"); } else { MF.AddOperLogCacheStr("保存车牌图片失败!"); return(1); } } catch (Exception) { MF.AddOperLogCacheStr("保存车牌图片失败!"); return(1); } //MF.CameraCanpost.Reset(); return(0); }
/// <summary> /// 回调函数 /// </summary> /// <param name="lCommand">报警信息类型</param> /// <param name="pAlarmer"></param> /// <param name="pAlarmInfo"></param> /// <param name="dwBufLen"></param> /// <param name="pUser"></param> /// <returns></returns> private bool MSgCallback_V31(int lCommand, ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { switch (lCommand) //不同的lCommand对应不同的pAlarmInfo内容 { case CHCNetSDK.COMM_ITS_PLATE_RESULT: //交通抓拍结果上传(新类型) { #region 车头相片 第一部相机 CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult2 = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize2 = (uint)Marshal.SizeOf(struITSPlateResult2); struITSPlateResult2 = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); int lChannel2 = 1; //通道号 Channel number CHCNetSDK.NET_DVR_MakeKeyFrame(m_lUserID, lChannel2); //保存车头相片 byte[] Carno = struITSPlateResult2.struPlateInfo.sLicense; //车牌号码 byte roudNo = struITSPlateResult2.byDriveChan; //车道号 byte secondCam = struITSPlateResult2.bySecondCam; string carNumber = System.Text.Encoding.Default.GetString(Carno); string nocar = roudNo.ToString(); string strSecondCam = secondCam.ToString(); string chepaihao = System.Text.Encoding.GetEncoding("GBK").GetString(struITSPlateResult2.struPlateInfo.sLicense).TrimEnd('\0'); string headpath = "F:\\VideoCapture\\picture\\NoCar.jpg"; //保存抓拍图片 for (int i = 0; i < struITSPlateResult2.dwPicNum; i++) { if (struITSPlateResult2.struPicInfo[i].dwDataLen != 0) { // label7.Text = nocar; //iFileNumber string path = "F:\\VideoCapture\\picture"; if (System.IO.Directory.Exists(path) == false) { System.IO.Directory.CreateDirectory(path); } headpath = "\\" + "G" + chepaihao + "G2" + secondCam + ".jpg"; if (struITSPlateResult2.struPicInfo[i].byType == 1) { FileStream fs = new FileStream(headpath, FileMode.Create); int iLen = (int)struITSPlateResult2.struPicInfo[i].dwDataLen; byte[] by = new byte[iLen]; Marshal.Copy(struITSPlateResult2.struPicInfo[i].pBuffer, by, 0, iLen); fs.Write(by, 0, iLen); fs.Close(); } iFileNumber++; } } #endregion #region 保存视频 黑烟相机 第二部相机 CHCNetSDK.NET_ITS_PLATE_RESULT struITSPlateResult = new CHCNetSDK.NET_ITS_PLATE_RESULT(); uint dwSize = (uint)Marshal.SizeOf(struITSPlateResult); struITSPlateResult = (CHCNetSDK.NET_ITS_PLATE_RESULT)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_ITS_PLATE_RESULT)); //获取黄色车牌才抓拍以及录视频 //车牌颜色 byte plateColor = struITSPlateResult.struPlateInfo.byColor; //1黄色 //录像保存路径和文件名 the path and file name to save string sVideoFileName; string path2 = "F:\\VideoCapture"; if (System.IO.Directory.Exists(path2) == false) { System.IO.Directory.CreateDirectory(path2); } sVideoFileName = "\\" + DateTime.Now.ToString("hhmmss") + ".mp4"; //强制I帧 Make a I frame // int lChannel = Int16.Parse(textBoxChannel.Text); //通道号 Channel number int lChannel = 2; //通道号 Channel number CHCNetSDK.NET_DVR_MakeKeyFrame(m_lUserID2, lChannel); //开始录像 Start recording CHCNetSDK.NET_DVR_SaveRealData(m_lUserID2, sVideoFileName); Thread.Sleep(5000); //停止录像 CHCNetSDK.NET_DVR_StopSaveRealData(m_lUserID2); #endregion #region 调用黑烟检测函数 如果满足要求将 先关信息存入到数据库 string ss = HttpGet("http://192.168.200.8:5000/parse/"); JsonReader reader = new JsonTextReader(new StringReader(ss)); while (reader.Read()) { ss = reader.Value.ToString(); } Console.WriteLine("处理后:" + ss); JArray jArray = (JArray)JsonConvert.DeserializeObject(ss); string vLicenceNo = jArray[0]["vLicenceNo"].ToString(); float vLicenceNoCer = (float)Convert.ToDouble(jArray[0]["vLicenceNoCer"]); int vRingelLevel = Convert.ToInt32(jArray[0]["vRingelLevel"]); //jArray[0]["vRingelLevel"].ToString(); float vRingelLevelCer = (float)Convert.ToDouble(jArray[0]["vRingelLevelCer"]); string vType = jArray[0]["vType"].ToString(); string vLicenceColor = jArray[0]["vLicenceColor"].ToString(); string vLicenceType = jArray[0]["vLicenceType"].ToString(); string vimage11 = jArray[0]["vImage1"].ToString(); string vimage21 = jArray[0]["vImage2"].ToString(); #endregion #region 保存数据 DateTime vchecktime = System.DateTime.Now; //检测的时间 string vstation = "文曲路"; //站点 string vno = vLicenceNo; //车牌号 float vnocer = vLicenceNoCer; string vcolor = vLicenceColor; //车牌颜色 string vtype = vType; int vroadno = roudNo; string vboadtype = vLicenceType; float vboardcer = vLicenceNoCer; //车牌置信度 int vrigel = vRingelLevel; //林格曼黑度 float vrigelcer = vRingelLevelCer; //置信度 string vimage1 = vimage11; //车尾照片1 string vimage2 = vimage21; //车尾照片2 string vimage = headpath; string vvideo = sVideoFileName; Vehicle v = new Vehicle(); v.vcheckdate = vchecktime; v.vstationname = vstation; v.vno = vno; v.vboardcredi = (float)vnocer; v.vcolor = vcolor; v.vroadno = vroadno; v.vboardtype = vboadtype; v.vringelman = vrigel; v.vringelmancredi = (float)vrigelcer; v.vimage1 = vimage1; v.vheadimage = vimage; v.vimage2 = vimage2; v.vvideo = vvideo; IVehicleBAL vehicleBAL = new ImVehicleBAL(); if (vehicleBAL.AddVehicle(v) < 0) { MessageBox.Show("添加失败"); } #endregion } break; } return(true); }