private void loadCurrentImageAnnotations() { if (capture.Position == capture.Length) { return; } drawingManager.Clear(); frame = capture.ReadAs <Bgr, byte>(); //the order is relevant (position is automatically increased) var imageKey = getCurrentImageKey(); if (Database.ContainsKey(imageKey)) { drawingManager.AddRange(Database[imageKey]); } this.pictureBox.Image = frame.ToBitmap(); pictureBox.Update(); this.Text = getCurrentImageKey() + " -> " + new FileInfo(databaseFileName).Name; this.slider.Value = (int)Math.Max(0, this.capture.Position - 1); this.slider.Maximum = (int)(capture.Length - 1); this.lblCurrentFrame.Text = this.slider.Value.ToString(); this.lblTotalFrames.Text = this.slider.Maximum.ToString(); }
public void NewButtonPressed() { // clear path drawingManager.Clear(); // set mode ChangeMode(ModeStatus.Drawing); }
/// <summary> /// メインフォーム /// </summary> public DrawingForm() { InitializeComponent(); this.DoubleBuffered = true; var drawingManager = new DrawingManager(new RectanglePen(Color.Blue)); drawingManager.Start(this, MouseButtons.Left); var gesture = new MouseGesture(); gesture.DirectionCaptured += (o, e) => this.Text = e.Gesture; gesture.Add("→←→", () => { drawingManager.Clear(); this.Text = "クリア"; this.Refresh(); }); gesture.Add("↑↓", () => { drawingManager.DefaultItem = new EllipsePen(Color.Red); this.Text = "楕円"; this.Refresh(); }); gesture.Add("↑→↓←", () => { drawingManager.DefaultItem = new RectanglePen(Color.Blue); this.Text = "四角形"; this.Refresh(); }); gesture.Add("↓→↑", () => { drawingManager.DefaultItem = DrawingManager.Selector; this.Text = "選択"; this.Refresh(); }); gesture.Start(this, MouseButtons.Right, 30); this.Paint += (o, e) => drawingManager.Draw(e.Graphics); }