private void PaintRaw(List <ILine> lines) { using (Graphics pg = Graphics.FromImage(TargetBitmap)) { pg.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; int totalCount = lines.SelectMany(e => e.Vertices).Count(); int current = 0; foreach (var sequence in lines) { foreach (var vertex in sequence.Vertices) { float penSize = vertex.Size; float halfSize = penSize / 2; SolidBrush brush = new SolidBrush(vertex.Color); pg.FillRectangle(brush, new RectangleF(vertex.X - halfSize, vertex.Y - halfSize, penSize, penSize)); current += 1; UpdatePaint?.Invoke(this, new UpdatePaintEventArgs(vertex, current / (float)totalCount)); } } } }
public void Start(List <ILine> lines) { int totalCount = lines.SelectMany(e => e.Vertices).Count(); int current = 0; foreach (var SubLine in lines) { if (CheckKey() == false) { return; } VirtualKeyboard.MouseMove((int)(SubLine.Vertices.First().X + Offset.X), (int)(SubLine.Vertices.First().Y + Offset.Y), SleepTime); VirtualKeyboard.MouseDownOrUp(true, SleepTime); foreach (var SubPoint in SubLine.Vertices) { VirtualKeyboard.MouseMove((int)(SubPoint.X + Offset.X), (int)(SubPoint.Y + Offset.Y), SleepTime); current += 1; UpdatePaint?.Invoke(this, new UpdatePaintEventArgs(SubPoint, current / (float)totalCount)); } VirtualKeyboard.MouseDownOrUp(false, SleepTime); } }