using log4net; using System; using System.IO; using System.Runtime.InteropServices; namespace DeviceCenter { class VehicleUtil { public static readonly ILog log = LogManager.GetLogger("CamTool"); public static string getVehicleType(byte type) { string vehicleType = ""; switch (type)//车辆类型 { case 0: { vehicleType = "未知车型"; break; } case 1: { vehicleType = "大型车"; break; } case 2: { vehicleType = "中型车"; break; } case 3: { vehicleType = "小型车"; break; } case 4: { vehicleType = "摩托车"; break; } case 5: { vehicleType = "行人"; break; } default: { vehicleType = "未知车型"; break; } } return vehicleType; } public static string getColor(byte color) { string vehicleColor = ""; switch (color)//车牌颜色 { case 0: vehicleColor = "蓝色"; break; case 1: vehicleColor = "黄色"; break; case 2: vehicleColor = "白色"; break; case 3: vehicleColor = "黑色"; break; case 5: vehicleColor = "绿色"; break; case 6: vehicleColor = "黄绿"; break; case 4: default: vehicleColor = "未识别"; break; } return vehicleColor; } public static string savePanoramaPic(string parentDir, ref CarCamSDK.T_PicInfo tPicInfo, int type) { string strImageFile1 = null; string strTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd_HH_mm_ss_fff"); if ((type == 1 && tPicInfo.ptPanoramaPicBuff != IntPtr.Zero && tPicInfo.uiPanoramaPicLen != 0) || (type == 2 && tPicInfo.ptVehiclePicBuff != IntPtr.Zero && tPicInfo.uiVehiclePicLen != 0)) { try { log.Info("图片1:" + strImageFile1); byte[] BytePanoramaPicBuff = new byte[type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen]; Marshal.Copy(type == 1 ? tPicInfo.ptPanoramaPicBuff : tPicInfo.ptVehiclePicBuff, BytePanoramaPicBuff, 0, (int)(type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen)); strImageFile1 = String.Format("{0}\\{1}.jpg", parentDir, strTime); FileStream fs = new FileStream(strImageFile1, FileMode.Create, FileAccess.Write | FileAccess.Read, FileShare.None); fs.Write(BytePanoramaPicBuff, 0, (int)(type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen)); //pictureBoxPlate.Image = Image.FromStream(fs); fs.Close(); fs.Dispose(); } catch (Exception e) { strImageFile1 = null; log.Error("写入图片出错", e); } } return strImageFile1; } } }