/// <summary> /// 连接相机 /// </summary> /// <param name="cmaerIp">相机IP</param> void ConnectionCamer(uint cmaerIp) { if (_DataControl.IsLinkedByMyself(cmaerIp))//如果是我自己在使用 { return; } else if (_DataControl.IsLinkedByOthers(cmaerIp))//如果是其他人在使用 { DialogResult result = MessageBox.Show("相机正与其它终端连接,确信要抢占吗?", "连接相机", MessageBoxButtons.YesNo); if (result != DialogResult.Yes) { return; } } if (_DataControl.IsInvadedByOthers(cmaerIp)) //如果被别人抢了摄像头 { DislinkCamera(cmaerIp); //就断开连接 } FormDisplay display = _DataControl.GetCurrDisplayForm(); if (display != null) { MagDevice device = display.GetDateDisplay().GetDevice(); if (device.LinkCamera(cmaerIp, 2000)) //连接相机 { DataDisplay.CurrSelectedWndIndex = display.GetDateDisplay().WndIndex; //更新选中框 Globals.GetMainFrm().GetFormDisplayBG().Invalidate(false); } } }
private void buttonLink_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); if (_DataControl.IsLinkedByMyself(_LstEnumInfo[index].intCamIp)) { return; } else if (_DataControl.IsLinkedByOthers(_LstEnumInfo[index].intUsrIp)) { DialogResult result = MessageBox.Show("相机正与其它终端连接,确信要抢占吗?", "连接相机", MessageBoxButtons.YesNo); if (result != DialogResult.Yes) { return; } } if (_DataControl.IsInvadedByOthers(_LstEnumInfo[index].intUsrIp)) { DislinkCamera(_LstEnumInfo[index].intCamIp); } FormDisplay display = _DataControl.GetCurrDisplayForm(); if (display != null) { MagDevice device = display.GetDateDisplay().GetDevice(); if (device.LinkCamera(_LstEnumInfo[index].intCamIp, 2000)) { DataDisplay.CurrSelectedWndIndex = display.GetDateDisplay().WndIndex;//更新选中框 Globals.GetMainFrm().GetFormDisplayBG().Invalidate(false); } } RefreshOnlineDevice(); }
private void btnAutoConn_Click(object sender, EventArgs e) { RefreshOnlineDevice(); if (comboBoxOnlineDevice.Items.Count == 0) { return; } if (btnAutoConn.Text == "一键连接播放") { if (comboBoxOnlineDevice.Items.Count >= 1) { for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { ConnectionCamer(_LstEnumInfo[i].intCamIp); FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); //选择已经绑定的IP的显示窗口 if (frmDisplay != null) { frmDisplay.GetDateDisplay().Play(); ChangeBtnCursor(2); } } btnAutoConn.Text = "一键断开停止播放"; } } else if (btnAutoConn.Text == "一键断开停止播放") { DialogResult MsgBoxResult = MessageBox.Show("确定要停止播放且停止采集热点?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { if (comboBoxOnlineDevice.Items.Count >= 1) { for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { DislinkCamera(_LstEnumInfo[i].intCamIp); FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); //选择已经绑定的IP的显示窗口 if (frmDisplay != null) { frmDisplay.Stop = false; frmDisplay.GetDateDisplay().GetDevice().StopProcessImage(); frmDisplay.Invalidate(false); isThreadRun = false; ChangeBtnCursor(1); } } FormMain.GetOPCTaskInfo("视频停止播放,热点信息停止采集,任务停止发送!"); } btnAutoConn.Text = "一键连接播放"; } } RefreshOnlineDevice(); }
/// <summary> /// 断开摄像头连接 /// </summary> /// <param name="intCameraIP"></param> private void DislinkCamera(uint intCameraIP) { FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(intCameraIP); if (frmDisplay != null) { MagDevice device = frmDisplay.GetDateDisplay().GetDevice(); device.StopProcessImage(); device.DisLinkCamera(); frmDisplay.Invalidate(false); } }
public FormDisplay GetCurrDisplayForm() { FormDisplay frmDisplay = Globals.GetMainFrm().GetFormDisplay(DataDisplay.CurrSelectedWndIndex); MagDevice device = frmDisplay.GetDateDisplay().GetDevice(); if (device.GetDevIPAddress() == 0) { return(frmDisplay); } else { return(GetFirstFreeDisplayForm()); } }
public FormDisplay GetFirstFreeDisplayForm() { uint max_wnd = Globals.GetMainFrm().GetMaxDeviceWnd(); for (uint i = 0; i < max_wnd; i++) { FormDisplay frmDisplay = Globals.GetMainFrm().GetFormDisplay(i); MagDevice device = frmDisplay.GetDateDisplay().GetDevice(); if (device.GetDevIPAddress() == 0) { return(frmDisplay); } } return(null); }
private void buttonPlay_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[index].intCamIp); if (frmDisplay != null) { frmDisplay.GetDateDisplay().Play(); } }
private void buttonPlay_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); //选择已经绑定的IP的显示窗口 if (frmDisplay != null) { frmDisplay.GetDateDisplay().Play(); ChangeBtnCursor(2); } } }
private void FormDisplayBG_Paint(object sender, PaintEventArgs e) { Graphics graphic = e.Graphics; graphic.FillRectangle(Brushes.White, new Rectangle(0, 0, this.Width, this.Height)); FormMain formMain = Globals.GetMainFrm(); uint row = 0, col = 0; formMain.GetFormControl().GetDataControl().GetDisplayWndNum(ref row, ref col); int bdr_width = (int)formMain.GetSelectionBorderWidth(); uint num = row * col; for (uint i = 0; i < num; i++) { FormDisplay frmDiplay = Globals.GetMainFrm().GetFormDisplay(i); Point pt = new Point(frmDiplay.Left, frmDiplay.Top); int left = pt.X - bdr_width; int top = pt.Y - bdr_width; int w = frmDiplay.Width + bdr_width * 2; int h = frmDiplay.Height + bdr_width * 2; if (DataDisplay.CurrSelectedWndIndex == frmDiplay.GetDateDisplay().WndIndex) { graphic.FillRectangle(Brushes.LightGreen, new Rectangle(left, top, w, h)); } else { graphic.FillRectangle(Brushes.DarkGray, new Rectangle(left, top, w, h)); } } }
private void buttonStop_Click(object sender, EventArgs e) { int index = comboBoxOnlineDevice.SelectedIndex; if (index < 0) { return; } DialogResult MsgBoxResult = MessageBox.Show("确定要停止播放且停止采集热点?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { MagService service = _DataControl.GetService(); uint dev_num = service.GetTerminalList(_LstEnumInfo, MAX_ENUMDEVICE); for (int i = 0; i < comboBoxOnlineDevice.Items.Count; i++) { FormDisplay frmDisplay = _DataControl.GetBindedDisplayForm(_LstEnumInfo[i].intCamIp); if (frmDisplay == null) { continue; } frmDisplay.Stop = false; frmDisplay.GetDateDisplay().GetDevice().StopProcessImage(); frmDisplay.Invalidate(false); isThreadRun = false; FormMain.GetOPCTaskInfo("线程停止!"); FormMain.GetOPCTaskInfo("视频停止播放,热点信息停止采集,任务停止发送!"); ChangeBtnCursor(1); } } }