BaseConfig_From.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Runtime.InteropServices;
  10. namespace VzClientSDKDemo
  11. {
  12. public partial class BaseConfig_From : Form
  13. {
  14. public BaseConfig_From()
  15. {
  16. InitializeComponent();
  17. }
  18. private int m_hLPRClient = 0;
  19. public void SetLPRHandle(int hLPRClient)
  20. {
  21. m_hLPRClient = hLPRClient;
  22. }
  23. //获取识别类型
  24. private void getPlateRecType()
  25. {
  26. int uBitsRecType = 0;
  27. VzClientSDK.VzLPRClient_GetPlateRecType(m_hLPRClient, ref uBitsRecType);
  28. m_chkBlue.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_BLUE);
  29. m_chkYellow.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_YELLOW);
  30. m_chkBlack.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_BLACK);
  31. m_chkCoach.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_COACH);
  32. m_chkTablets.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_POLICE);
  33. m_chkArm.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_AMPOL);
  34. m_chkTag.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_ARMY);
  35. m_chkHK.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_GANGAO);
  36. m_chkEC.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_EMBASSY);
  37. m_chkAviation.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_AVIATION);
  38. m_chkEnergy.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_ENERGY);
  39. m_chkNoPlate.Checked = Convert.ToBoolean((int)uBitsRecType & VzClientSDK.VZ_LPRC_REC_NO_PLATE);
  40. }
  41. //设置识别类型
  42. private bool setPlateRecType()
  43. {
  44. Int32 uBitsRecType = 0;
  45. uBitsRecType |= m_chkBlue.Checked ? VzClientSDK.VZ_LPRC_REC_BLUE : 0;
  46. uBitsRecType |= m_chkYellow.Checked ? VzClientSDK.VZ_LPRC_REC_YELLOW : 0;
  47. uBitsRecType |= m_chkBlack.Checked ? VzClientSDK.VZ_LPRC_REC_BLACK : 0;
  48. uBitsRecType |= m_chkCoach.Checked ? VzClientSDK.VZ_LPRC_REC_COACH : 0;
  49. uBitsRecType |= m_chkTablets.Checked ? VzClientSDK.VZ_LPRC_REC_POLICE : 0;
  50. uBitsRecType |= m_chkArm.Checked ? VzClientSDK.VZ_LPRC_REC_AMPOL : 0;
  51. uBitsRecType |= m_chkTag.Checked ? VzClientSDK.VZ_LPRC_REC_ARMY : 0;
  52. uBitsRecType |= m_chkHK.Checked ? VzClientSDK.VZ_LPRC_REC_GANGAO : 0;
  53. uBitsRecType |= m_chkEC.Checked ? VzClientSDK.VZ_LPRC_REC_EMBASSY : 0;
  54. uBitsRecType |= m_chkAviation.Checked ? VzClientSDK.VZ_LPRC_REC_AVIATION : 0;
  55. uBitsRecType |= m_chkEnergy.Checked ? VzClientSDK.VZ_LPRC_REC_ENERGY : 0;
  56. uBitsRecType |= m_chkNoPlate.Checked ? VzClientSDK.VZ_LPRC_REC_NO_PLATE : 0;
  57. int nRet = VzClientSDK.VzLPRClient_SetPlateRecType(m_hLPRClient, (UInt32)uBitsRecType);
  58. bool bFuncRet = true;
  59. if (nRet != 0)
  60. {
  61. MessageBox.Show("设置识别类型失败!");
  62. bFuncRet = false;
  63. }
  64. return bFuncRet;
  65. }
  66. //获取车牌识别类型
  67. private void getTrigType()
  68. {
  69. int uBitsTrigType = 0;
  70. VzClientSDK.VzLPRClient_GetPlateTrigType(m_hLPRClient, ref uBitsTrigType);
  71. m_chkStableTri.Checked = Convert.ToBoolean((int)uBitsTrigType & VzClientSDK.VZ_LPRC_TRIG_ENABLE_STABLE);
  72. m_chkVirtualTri.Checked = Convert.ToBoolean((int)uBitsTrigType & VzClientSDK.VZ_LPRC_TRIG_ENABLE_VLOOP);
  73. m_chkIO1.Checked = Convert.ToBoolean((int)uBitsTrigType & VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN1);
  74. m_chkIO2.Checked = Convert.ToBoolean((int)uBitsTrigType & VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN2);
  75. m_chkIO3.Checked = Convert.ToBoolean((int)uBitsTrigType & VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN3);
  76. }
  77. //设置车牌识别类型
  78. private bool setTrigType()
  79. {
  80. Int32 uBitsTrigType = 0;
  81. uBitsTrigType |= m_chkStableTri.Checked ? VzClientSDK.VZ_LPRC_TRIG_ENABLE_STABLE : 0;
  82. uBitsTrigType |= m_chkVirtualTri.Checked ? VzClientSDK.VZ_LPRC_TRIG_ENABLE_VLOOP : 0;
  83. uBitsTrigType |= m_chkIO1.Checked ? VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN1 : 0;
  84. uBitsTrigType |= m_chkIO2.Checked ? VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN2 : 0;
  85. uBitsTrigType |= m_chkIO3.Checked ? VzClientSDK.VZ_LPRC_TRIG_ENABLE_IO_IN3 : 0;
  86. int nRet = VzClientSDK.VzLPRClient_SetPlateTrigType(m_hLPRClient, Convert.ToUInt32(uBitsTrigType));
  87. bool bFuncRet = true;
  88. if (nRet != 0)
  89. {
  90. MessageBox.Show("设置输出结果失败!");
  91. bFuncRet = false;
  92. }
  93. return bFuncRet;
  94. }
  95. //获取实时显示
  96. private void getRealTimeResult()
  97. {
  98. VzClientSDK.VZ_LPRC_DRAWMODE drawMode = new VzClientSDK.VZ_LPRC_DRAWMODE();
  99. int nRet = VzClientSDK.VzLPRClient_GetDrawMode(m_hLPRClient, ref drawMode);
  100. m_chkVirtualAndReco.Checked = Convert.ToBoolean(drawMode.byDspAddRule);
  101. m_chkResult.Checked = Convert.ToBoolean(drawMode.byDspAddTarget);
  102. m_chkPlatePos.Checked = Convert.ToBoolean(drawMode.byDspAddTrajectory);
  103. }
  104. //设置实时显示
  105. private bool setRealTimeResult()
  106. {
  107. VzClientSDK.VZ_LPRC_DRAWMODE drawMode = new VzClientSDK.VZ_LPRC_DRAWMODE();
  108. drawMode.byDspAddRule = Convert.ToByte(m_chkVirtualAndReco.Checked);
  109. drawMode.byDspAddTarget = Convert.ToByte(m_chkResult.Checked);
  110. drawMode.byDspAddTrajectory = Convert.ToByte(m_chkPlatePos.Checked);
  111. int nRet = VzClientSDK.VzLPRClient_SetDrawMode(m_hLPRClient, ref drawMode);
  112. bool bFuncRet = true;
  113. if (nRet != 0)
  114. {
  115. MessageBox.Show("设置实时显示失败!");
  116. bFuncRet = false;
  117. }
  118. return bFuncRet;
  119. }
  120. private void m_btnOK_Click(object sender, EventArgs e)
  121. {
  122. bool bRecRet = setPlateRecType();
  123. bool bTrigRet = setTrigType();
  124. bool bRealRet = setRealTimeResult();
  125. if (bRecRet && bTrigRet && bRealRet)
  126. MessageBox.Show("设置基本配置成功!");
  127. this.Close();
  128. }
  129. private void BaseConfig_From_Load(object sender, EventArgs e)
  130. {
  131. getPlateRecType();
  132. getTrigType();
  133. getRealTimeResult();
  134. }
  135. }
  136. }