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");
        }
        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 FillRectangle()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 100);
            doc.SetColor(OxyColors.Gainsboro);
            doc.SetFillColor(OxyColors.Navy);
            doc.FillRectangle(5, 5, 100, 70);
            doc.Save(Folder + "FillRectangle.pdf");
        }
        public void FillEllipse()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 100);
            doc.SetColor(OxyColors.Orange);
            doc.SetFillColor(OxyColors.LightGreen);
            doc.FillEllipse(5, 5, 190, 90);
            doc.Save(Folder + "FillEllipse.pdf");
        }
        public void FillCircle()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 200);
            doc.SetColor(OxyColors.Blue);
            doc.SetFillColor(OxyColors.LightBlue);
            doc.FillCircle(100, 100, 95);
            doc.Save(Folder + "FillCircle.pdf");
        }
        public void DrawRectangle()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 100);
            doc.SetColor(OxyColors.Navy);
            doc.SetFillColor(OxyColors.Gainsboro);
            doc.DrawRectangle(5, 5, 100, 70, true);
            doc.DrawRectangle(185, 85, 10, 10);
            doc.Save(Folder + "DrawRectangle.pdf");
        }
        public void DrawEllipse()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 100);
            doc.SetColor(OxyColors.Orange);
            doc.SetFillColor(OxyColors.LightGreen);
            doc.DrawEllipse(5, 5, 190, 90, true);
            doc.DrawEllipse(175, 85, 20, 10);
            doc.Save(Folder + "DrawEllipse.pdf");
        }
        public void DrawText_TopLeftCoordinateSystem()
        {
            var doc = new PortableDocument();
            doc.AddPage(PageSize.A4);
            doc.Transform(1, 0, 0, -1, 0, doc.PageHeight);
            doc.SetHorizontalTextScaling(-100);

            // Note: negative font size
            doc.SetFont("Arial", -20);
            doc.DrawText(5, 25, "Hello world!");

            doc.SetColor(OxyColors.Blue);
            doc.DrawCross(5, 25);

            doc.SetColor(OxyColors.Blue);
            doc.SetFillColor(OxyColors.LightBlue);
            doc.DrawEllipse(50, 100, 50, 40, true);

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

            doc.AddPage(PageSize.A4);
            doc.Transform(1, 0, 0, -1, 0, doc.PageHeight);
            doc.SetHorizontalTextScaling(-100);

            // Note: negative font size
            doc.SetFont("Arial", -20);
            doc.DrawText(5, 25, "Hello world!");

            doc.SetColor(OxyColors.Blue);
            doc.DrawCross(5, 25);

            doc.SetColor(OxyColors.Blue);
            doc.SetFillColor(OxyColors.LightBlue);
            doc.DrawEllipse(50, 100, 50, 40, true);

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

            doc.AddPage(100, 100);
            double x  = 0;
            double y0 = 78;
            double y1 = 10;

            doc.DrawLine(10, 95, 10, 80);

            doc.SetColor(0, 0, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 1, 1);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 0, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(0, 1, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(0, 0, 1);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 1, 0);
            doc.DrawLine(x += 10, y0, x, y1);

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

            doc.AddPage(200, 200);
            doc.SetColor(OxyColors.Blue);
            doc.SetFillColor(OxyColors.LightBlue);
            doc.SaveState();
            doc.SetClippingRectangle(5, 5, 50, 50);
            doc.DrawCircle(100, 100, 95, true);
            doc.RestoreState();
            doc.DrawCircle(120, 120, 70);
            doc.Save(Folder + "SetClippingRectangle.pdf");
        }
        public void RotateAt()
        {
            var doc = new PortableDocument();

            doc.AddPage(200, 200);

            doc.SaveState();
            doc.SetColor(1, 0, 0);
            doc.RotateAt(50, 20, 30);
            doc.DrawRectangle(50, 20, 100, 15);
            doc.RestoreState();

            doc.DrawRectangle(50, 20, 100, 15);

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

            doc.AddPage(200, 200);

            doc.SaveState();
            doc.SetColor(1, 0, 0);
            doc.Translate(20, 10);
            doc.DrawRectangle(10, 10, 100, 70);
            doc.RestoreState();

            doc.DrawRectangle(10, 10, 100, 70);

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

            doc.AddPage(PageSize.A4);

            doc.SetFont("Arial", 96);

            var    text = "qjQJKæ";
            double width, height;

            doc.MeasureText(text, out width, out height);
            double y = doc.PageHeight - 400 - height;

            doc.SetColor(0, 0, 1);
            doc.DrawRectangle(50, y, width, height);
            doc.SetFillColor(0, 0, 0);
            doc.DrawText(50, y, text);
            doc.Save(Folder + "MeasureText.pdf");
        }
示例#16
0
 /// <summary>
 /// Sets the stroke color.
 /// </summary>
 /// <param name="doc">The document.</param>
 /// <param name="c">The color.</param>
 public static void SetColor(this PortableDocument doc, OxyColor c)
 {
     doc.SetColor(c.R / 255.0, c.G / 255.0, c.B / 255.0);
     doc.SetStrokeAlpha(c.A / 255.0);
 }
        public void Translate()
        {
            var doc = new PortableDocument();
            doc.AddPage(200, 200);

            doc.SaveState();
            doc.SetColor(1, 0, 0);
            doc.Translate(20, 10);
            doc.DrawRectangle(10, 10, 100, 70);
            doc.RestoreState();

            doc.DrawRectangle(10, 10, 100, 70);

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

            doc.SaveState();
            doc.SetColor(1, 0, 0);
            doc.RotateAt(50, 20, 30);
            doc.DrawRectangle(50, 20, 100, 15);
            doc.RestoreState();

            doc.DrawRectangle(50, 20, 100, 15);

            doc.Save(Folder + "RotateAt.pdf");
        }
 public void FillRectangle()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 100);
     doc.SetColor(OxyColors.Gainsboro);
     doc.SetFillColor(OxyColors.Navy);
     doc.FillRectangle(5, 5, 100, 70);
     doc.Save(Folder + "FillRectangle.pdf");
 }
 public void SetClippingRectangle()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 200);
     doc.SetColor(OxyColors.Blue);
     doc.SetFillColor(OxyColors.LightBlue);
     doc.SaveState();
     doc.SetClippingRectangle(5, 5, 50, 50);
     doc.DrawCircle(100, 100, 95, true);
     doc.RestoreState();
     doc.DrawCircle(120, 120, 70);
     doc.Save(Folder + "SetClippingRectangle.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 DrawRectangle()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 100);
     doc.SetColor(OxyColors.Navy);
     doc.SetFillColor(OxyColors.Gainsboro);
     doc.DrawRectangle(5, 5, 100, 70, true);
     doc.DrawRectangle(185, 85, 10, 10);
     doc.Save(Folder + "DrawRectangle.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");
        }
        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 DrawLine_Colors()
        {
            var doc = new PortableDocument();
            doc.AddPage(100, 100);
            double x = 0;
            double y0 = 78;
            double y1 = 10;

            doc.DrawLine(10, 95, 10, 80);

            doc.SetColor(0, 0, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 1, 1);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 0, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(0, 1, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(0, 0, 1);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.SetColor(1, 1, 0);
            doc.DrawLine(x += 10, y0, x, y1);

            doc.Save(Folder + "DrawLine_Colors.pdf");
        }
 public void FillEllipse()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 100);
     doc.SetColor(OxyColors.Orange);
     doc.SetFillColor(OxyColors.LightGreen);
     doc.FillEllipse(5, 5, 190, 90);
     doc.Save(Folder + "FillEllipse.pdf");
 }
 public void DrawEllipse()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 100);
     doc.SetColor(OxyColors.Orange);
     doc.SetFillColor(OxyColors.LightGreen);
     doc.DrawEllipse(5, 5, 190, 90, true);
     doc.DrawEllipse(175, 85, 20, 10);
     doc.Save(Folder + "DrawEllipse.pdf");
 }
 public void FillCircle()
 {
     var doc = new PortableDocument();
     doc.AddPage(200, 200);
     doc.SetColor(OxyColors.Blue);
     doc.SetFillColor(OxyColors.LightBlue);
     doc.FillCircle(100, 100, 95);
     doc.Save(Folder + "FillCircle.pdf");
 }
        public void MeasureText()
        {
            var doc = new PortableDocument();
            doc.AddPage(PageSize.A4);

            doc.SetFont("Arial", 96);

            var text = "qjQJKæ";
            double width, height;
            doc.MeasureText(text, out width, out height);
            double y = doc.PageHeight - 400 - height;
            doc.SetColor(0, 0, 1);
            doc.DrawRectangle(50, y, width, height);
            doc.SetFillColor(0, 0, 0);
            doc.DrawText(50, y, text);
            doc.Save(Folder + "MeasureText.pdf");
        }