VehicleUtil.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. using log4net;
  2. using System;
  3. using System.IO;
  4. using System.Runtime.InteropServices;
  5. namespace DeviceCenter
  6. {
  7. class VehicleUtil
  8. {
  9. public static readonly ILog log = LogManager.GetLogger("CamTool");
  10. public static string getVehicleType(byte type)
  11. {
  12. string vehicleType = "";
  13. switch (type)//车辆类型
  14. {
  15. case 0:
  16. {
  17. vehicleType = "未知车型";
  18. break;
  19. }
  20. case 1:
  21. {
  22. vehicleType = "大型车";
  23. break;
  24. }
  25. case 2:
  26. {
  27. vehicleType = "中型车";
  28. break;
  29. }
  30. case 3:
  31. {
  32. vehicleType = "小型车";
  33. break;
  34. }
  35. case 4:
  36. {
  37. vehicleType = "摩托车";
  38. break;
  39. }
  40. case 5:
  41. {
  42. vehicleType = "行人";
  43. break;
  44. }
  45. default:
  46. {
  47. vehicleType = "未知车型";
  48. break;
  49. }
  50. }
  51. return vehicleType;
  52. }
  53. public static string getColor(byte color)
  54. {
  55. string vehicleColor = "";
  56. switch (color)//车牌颜色
  57. {
  58. case 0:
  59. vehicleColor = "蓝色";
  60. break;
  61. case 1:
  62. vehicleColor = "黄色";
  63. break;
  64. case 2:
  65. vehicleColor = "白色";
  66. break;
  67. case 3:
  68. vehicleColor = "黑色";
  69. break;
  70. case 5:
  71. vehicleColor = "绿色";
  72. break;
  73. case 6:
  74. vehicleColor = "黄绿";
  75. break;
  76. case 4:
  77. default:
  78. vehicleColor = "未识别";
  79. break;
  80. }
  81. return vehicleColor;
  82. }
  83. public static string savePanoramaPic(string parentDir, ref CarCamSDK.T_PicInfo tPicInfo, int type)
  84. {
  85. string strImageFile1 = null;
  86. string strTime = DateTime.Now.ToLocalTime().ToString("yyyy-MM-dd_HH_mm_ss_fff");
  87. if ((type == 1 && tPicInfo.ptPanoramaPicBuff != IntPtr.Zero && tPicInfo.uiPanoramaPicLen != 0) ||
  88. (type == 2 && tPicInfo.ptVehiclePicBuff != IntPtr.Zero && tPicInfo.uiVehiclePicLen != 0))
  89. {
  90. try
  91. {
  92. log.Info("图片1:" + strImageFile1);
  93. byte[] BytePanoramaPicBuff = new byte[type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen];
  94. Marshal.Copy(type == 1 ? tPicInfo.ptPanoramaPicBuff : tPicInfo.ptVehiclePicBuff, BytePanoramaPicBuff, 0,
  95. (int)(type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen));
  96. strImageFile1 = String.Format("{0}\\{1}.jpg", parentDir, strTime);
  97. FileStream fs = new FileStream(strImageFile1, FileMode.Create, FileAccess.Write | FileAccess.Read, FileShare.None);
  98. fs.Write(BytePanoramaPicBuff, 0, (int)(type == 1 ? tPicInfo.uiPanoramaPicLen : tPicInfo.uiVehiclePicLen));
  99. //pictureBoxPlate.Image = Image.FromStream(fs);
  100. fs.Close();
  101. fs.Dispose();
  102. }
  103. catch (Exception e)
  104. {
  105. strImageFile1 = null;
  106. log.Error("写入图片出错", e);
  107. }
  108. }
  109. return strImageFile1;
  110. }
  111. }
  112. }