static SkiaSharp.SKPath CreatePolygon(PixelFarm.Drawing.PointF[] points)
        {
            SkiaSharp.SKPath p = new SkiaSharp.SKPath();
            int j = points.Length;

            PixelFarm.Drawing.PointF p0 = new PixelFarm.Drawing.PointF();
            for (int i = 0; i < j; ++i)
            {
                if (i == 0)
                {
                    p0 = points[0];
                    p.MoveTo(p0.X, p0.Y);
                }
                else if (i == j - 1)
                {
                    //last one
                    var point = points[i];
                    p.LineTo(point.X, point.Y);
                    p.LineTo(p0.X, p0.Y);
                    p.Close();
                    break;
                }
                else
                {
                    var point = points[i];
                    p.LineTo(point.X, point.Y);
                }
            }
            return(p);
        }
Exemple #2
0
 public static System.Drawing.PointF ToPointF(this PixelFarm.Drawing.PointF pointf)
 {
     return(new System.Drawing.PointF(pointf.X, pointf.Y));
 }
Exemple #3
0
 public static SkiaSharp.SKPoint ToPointF(this PixelFarm.Drawing.PointF pointf)
 {
     return(new SkiaSharp.SKPoint(pointf.X, pointf.Y));
 }
 static SkiaSharp.SKPath CreatePolygon(PixelFarm.Drawing.PointF[] points)
 {
     SkiaSharp.SKPath p = new SkiaSharp.SKPath();
     int j = points.Length;
     PixelFarm.Drawing.PointF p0 = new PixelFarm.Drawing.PointF();
     for (int i = 0; i < j; ++i)
     {
         if (i == 0)
         {
             p0 = points[0];
             p.MoveTo(p0.X, p0.Y);
         }
         else if (i == j - 1)
         {
             //last one
             var point = points[i];
             p.LineTo(point.X, point.Y);
             p.LineTo(p0.X, p0.Y);
             p.Close();
             break;
         }
         else
         {
             var point = points[i];
             p.LineTo(point.X, point.Y);
         }
     }
     return p;
 }