public void DrawPolygon()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 100);

            doc.MoveTo(50, 30);
            doc.LineTo(170, 30);
            doc.LineTo(100, 70);
            doc.SetColor(OxyColors.Orange);
            doc.SetFillColor(OxyColors.LightGreen);
            doc.FillAndStroke();

            doc.MoveTo(5, 5);
            doc.LineTo(5, 25);
            doc.LineTo(25, 5);
            doc.Fill();

            doc.MoveTo(195, 95);
            doc.LineTo(175, 95);
            doc.LineTo(195, 75);
            doc.Stroke();

            doc.Save(Folder + "DrawPolygon.pdf");
        }
        public void Stroke_LineJoins()
        {
            var doc = new PortableDocument();

            doc.AddPage(100, 100);

            doc.SetLineWidth(3);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.Stroke(false);

            doc.SetColor(1, 0, 0);
            doc.SetLineJoin(LineJoin.Bevel);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.Stroke(false);

            doc.SetColor(0, 1, 0);
            doc.SetLineJoin(LineJoin.Miter);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.Stroke(false);

            doc.SetColor(0, 0, 1);
            doc.SetLineJoin(LineJoin.Round);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.Save(Folder + "Stroke_LineJoins.pdf");
        }
 /// <summary>
 /// Draws a cross at the specified position.
 /// </summary>
 /// <param name="doc">The document.</param>
 /// <param name="x">The center x-coordinate.</param>
 /// <param name="y">The center y-coordinate.</param>
 /// <param name="size">The size of the cross.</param>
 public static void DrawCross(this PortableDocument doc, double x, double y, double size = 10)
 {
     doc.MoveTo(x - size, y);
     doc.LineTo(x + size, y);
     doc.MoveTo(x, y - size);
     doc.LineTo(x, y + size);
     doc.Stroke(false);
 }
        public void Stroke_LineCaps()
        {
            var doc = new PortableDocument();

            doc.AddPage(100, 100);

            doc.SetColor(0.5, 0.5, 0.5);
            doc.SetLineWidth(3);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.Stroke(false);

            doc.SetColor(1, 0, 0);
            doc.SetLineCap(LineCap.Butt);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.Stroke(false);

            doc.SetColor(0, 1, 0);
            doc.SetLineCap(LineCap.ProjectingSquare);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.Stroke(false);

            doc.SetColor(0, 0, 1);
            doc.SetLineCap(LineCap.Round);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.SetColor(0, 0, 0);
            doc.SetLineWidth(0.1);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.Save(Folder + "Stroke_LineCaps.pdf");
        }
        public void DrawPolygon()
        {
            var doc = new PortableDocument();
            doc.AddPage(200, 100);

            doc.MoveTo(50, 30);
            doc.LineTo(170, 30);
            doc.LineTo(100, 70);
            doc.SetColor(OxyColors.Orange);
            doc.SetFillColor(OxyColors.LightGreen);
            doc.FillAndStroke();

            doc.MoveTo(5, 5);
            doc.LineTo(5, 25);
            doc.LineTo(25, 5);
            doc.Fill();

            doc.MoveTo(195, 95);
            doc.LineTo(175, 95);
            doc.LineTo(195, 75);
            doc.Stroke();

            doc.Save(Folder + "DrawPolygon.pdf");
        }
        public void Stroke_LineCaps()
        {
            var doc = new PortableDocument();
            doc.AddPage(100, 100);

            doc.SetColor(0.5, 0.5, 0.5);
            doc.SetLineWidth(3);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.Stroke(false);

            doc.SetColor(1, 0, 0);
            doc.SetLineCap(LineCap.Butt);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.Stroke(false);

            doc.SetColor(0, 1, 0);
            doc.SetLineCap(LineCap.ProjectingSquare);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.Stroke(false);

            doc.SetColor(0, 0, 1);
            doc.SetLineCap(LineCap.Round);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.SetColor(0, 0, 0);
            doc.SetLineWidth(0.1);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.Save(Folder + "Stroke_LineCaps.pdf");
        }
        public void Stroke_LineJoins()
        {
            var doc = new PortableDocument();
            doc.AddPage(100, 100);

            doc.SetLineWidth(3);
            doc.MoveTo(10, 10);
            doc.LineTo(50, 60);
            doc.LineTo(90, 10);
            doc.Stroke(false);

            doc.SetColor(1, 0, 0);
            doc.SetLineJoin(LineJoin.Bevel);
            doc.MoveTo(10, 20);
            doc.LineTo(50, 70);
            doc.LineTo(90, 20);
            doc.Stroke(false);

            doc.SetColor(0, 1, 0);
            doc.SetLineJoin(LineJoin.Miter);
            doc.MoveTo(10, 30);
            doc.LineTo(50, 80);
            doc.LineTo(90, 30);
            doc.Stroke(false);

            doc.SetColor(0, 0, 1);
            doc.SetLineJoin(LineJoin.Round);
            doc.MoveTo(10, 40);
            doc.LineTo(50, 90);
            doc.LineTo(90, 40);
            doc.Stroke(false);

            doc.Save(Folder + "Stroke_LineJoins.pdf");
        }