Ejemplo n.º 1
0
 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));
             }
         }
     }
 }
Ejemplo n.º 2
0
        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);
            }
        }