Example #1
0
File: Drawing.cs Project: akx/ltag
 public void Draw(PointF point1, PointF point2)
 {
     if (_bitmap == null) return;
     point1 = point1.Rescale(_width, _height);
     point2 = point2.Rescale(_width, _height);
     var dst = Math.Sqrt(Util.DistanceSqr(point1, point2));
     var nSteps = (int) Math.Ceiling(dst/_drawPxDist);
     lock (_bitmap)
     {
         using (var g = Graphics.FromImage(_bitmap))
         {
             g.CompositingMode = CompositingMode.SourceOver;
             //g.DrawLine(Pens.White, point1, point2);
             for (var step = 1; step < nSteps; step++)
             {
                 var alpha = step/(float) (nSteps - 1);
                 var p = point1.LerpTo(point2, alpha);
                 g.DrawImage(_brushBitmap, p.X - _brushBitmap.Width * 0.5f, p.Y - _brushBitmap.Height * 0.5f);
             }
         }
     }
 }