private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.DefaultExt = "json"; if (ofd.ShowDialog() == DialogResult.OK) { RectangleConverter rc = new RectangleConverter(); JObject root = JsonConvert.DeserializeObject(File.ReadAllText(ofd.FileName)) as JObject; JArray patterns = root["patterns"] as JArray; foreach (JObject pattern in patterns) { string identifier = pattern["identifier"].ToString(); JArray rectsArray = pattern["rects"] as JArray; selectedRectangles[identifier] = new List <BoundRect>(); foreach (var rs in rectsArray) { JObject obj = rs as JObject; Rectangle rect = (Rectangle)rc.ConvertFromString((string)rs["rect"]); int type = int.Parse((string)rs["type"]); BoundRect br = new BoundRect(); br.Rectangle = rect; br.Type = type; selectedRectangles[identifier].Add(br); } selectedImages[identifier] = new Bitmap(PATH + identifier + ".png"); } } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseClick(e); dragging = true; start = e.Location; end = start; // foda-se BoundRect delete = null; foreach (BoundRect b in rects) { if (b.Type == currentType) { delete = b; break; } } if (delete != null) { rects.Remove(delete); } Refresh(); }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); dragging = false; rectSet = true; Parent.Text = currentRect.ToString(); BoundRect r = new BoundRect(); r.Type = currentType; r.Rectangle = currentRect; rects.Add(r); Refresh(); }