private void pictureBox_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { PictureBox p = (PictureBox)sender; for (int i = 0; i < cam.Length; i++) { if (cam[i] != null && cam[i].status == "run" && cam[i].pb == p.Name) { cam[i].Stop(); cam[i] = null; } } ContextMenu m = new ContextMenu(); List <string> ls = WEBCAM.get_all_cam(); for (int i = 0; i <= 2 & i < ls.Count; i++) { m.MenuItems.Add(ls[i], (s, e2) => { MenuItem menuItem = s as MenuItem; ContextMenu owner = menuItem.Parent as ContextMenu; PictureBox pb = (PictureBox)owner.SourceControl; if (cam[menuItem.Index] != null && cam[menuItem.Index].status == "run") { cam[menuItem.Index].Stop(); //cam[menuItem.Index] = null; } cam[menuItem.Index] = new WEBCAM(); cam[menuItem.Index].Start(menuItem.Index); cam[menuItem.Index].put_picturebox(pb.Name); }); } m.Show(p, new Point(e.X, e.Y)); } }
/// <summary> Cuando el OSC detecta la imagen de este totem lo ponemos como trackeado. /// Esta funcion se llama desde el OSCAntenasController</summary> public void SetTrackeando(int cam) { trackeado = true; im.enabled = true; if (cam == 1) { webcamTrackeando = WEBCAM.WEBCAM1; } else if (cam == 2) { webcamTrackeando = WEBCAM.WEBCAM2; } else { Debug.LogWarning("ERROR: se paso el número de webcam ' " + cam + " ' cuando solo deberia ser 1 ó 2"); } if (transmitiendo) { EmpezarATransmitir(); } }