using TimelapseApi; using System; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.Drawing; using SixLabors.ImageSharp.Drawing.Processing; namespace TestPattern { public class TestPattern : TimelapseExtension { public override string Name => "Test Pattern"; public override Guid Id => Guid.Parse("{d918ac89-c07a-4ce4-a94b-c3e6c6f7a7e3}"); //https://duckduckgo.com/?q=guid&t=ffab&ia=answer protected override void OnCreate(ExtensionFeatures features) { features.RegisterFrameHandler((e)=>{ if(Instance == null) { return true; } if(Instance.HasCamera) { return true; } int colW=e.Width / 7; int widthtotalBottom = (int)(colW* 3.80); int colH=(int)(e.Height * 0.70); int bottomY=(int)(e.Height*0.80); int bottomW = widthtotalBottom/3; Action draw=(color,i,ipc)=>{ ipc.FillPolygon(color,new PointF(0+(colW*i),0),new PointF(colW + (colW*i),0),new PointF(colW + (colW*i),colH),new PointF(0+(colW*i),colH),new PointF(0+(colW*i),0)); }; Action draw_middle = (color,i,ipc)=>{ ipc.FillPolygon(color,new PointF(0+(colW*i),colH),new PointF(colW + (colW*i),colH),new PointF(colW + (colW*i),bottomY),new PointF(0+(colW*i),bottomY),new PointF(0+(colW*i),0)); }; Action draw_bottom = (color,i,ipc)=>{ ipc.FillPolygon(color,new PointF(0+(bottomW*i),bottomY),new PointF(bottomW + (bottomW*i),bottomY),new PointF(bottomW + (bottomW*i),e.Height),new PointF(0+(bottomW*i),e.Height),new PointF(0+(bottomW*i),bottomY)); }; e.Mutate((e)=>{ var white=Color.White; var yellow = Color.Yellow; var aqua = Color.Aqua; var magenta =Color.Magenta; var red=Color.Red; var blue = Color.Blue; var black=Color.Black; var navy=Color.Navy; var lime=Color.Lime; draw(white,0,e); draw(yellow,1,e); draw(aqua,2,e); draw(lime,3,e); draw(magenta,4,e); draw(red,5,e); draw(blue,6,e); draw_middle(red,2,e); draw_middle(blue,1,e); draw_middle(magenta,3,e); draw_middle(lime,4,e); draw_middle(aqua,5,e); draw_middle(yellow,6,e); draw_bottom(navy,0,e); draw_bottom(white,1,e); draw_bottom(navy,2,e); }); return true; },"Test Pattern",0); } } }