/// <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_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 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"); }