本文整理汇总了C#中PdfSharp.Drawing.XGraphics.DrawArc方法的典型用法代码示例。如果您正苦于以下问题:C# XGraphics.DrawArc方法的具体用法?C# XGraphics.DrawArc怎么用?C# XGraphics.DrawArc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PdfSharp.Drawing.XGraphics
的用法示例。
在下文中一共展示了XGraphics.DrawArc方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderArcs
/// <summary>
/// Draws Arcs.
/// </summary>
void RenderArcs(XGraphics gfx)
{
gfx.TranslateTransform(15, 20);
XPen pen = new XPen(XColors.Plum, 4.7);
gfx.DrawArc(pen, 0, 0, 250, 140, 190, 200);
}
示例2: Arc
public void Arc(XGraphics gfx, RectangleF rect, float startAngle, float sweepAngle)
{
RectangleF rect2 = RectangleF.Inflate(rect, rect.Width, 0);
Box2(gfx, rect2, startAngle, sweepAngle);
Box1(gfx, rect, startAngle, sweepAngle);
//Box(gfx, rect, startAngle, sweepAngle);
gfx.DrawArc(properties.Pen2.Pen, rect, startAngle, sweepAngle);
gfx.DrawArc(properties.Pen3.Pen, rect2, 0, 90);
gfx.DrawArc(properties.Pen2.Pen, rect2, startAngle, sweepAngle);
float delta = (float)(Math.PI / 360);
float rx = rect2.Width / 2;
float ry = rect2.Height / 2;
float dx = rect2.X + rx;
float dy = rect2.Y + ry;
for (float rad = 0; rad < Math.PI * 2; rad += delta)
{
gfx.DrawLine(XPens.LawnGreen, (float)(dx + rx * Math.Cos(rad)), (float)(dy + ry * Math.Sin(rad)),
(float)(dx + rx * Math.Cos(rad + delta)), (float)(dy + ry * Math.Sin(rad + delta)));
}
double gamma1 = (ry * Math.Cos(20 * 0.0174532925199433)) / (rx * Math.Sin(20 * 0.0174532925199433));
gamma1 = Math.Atan(gamma1);
gamma1 = 90 - gamma1 / 0.0174532925199433;
double gamma2 = (ry * Math.Cos(70 * 0.0174532925199433)) / (rx * Math.Sin(70 * 0.0174532925199433));
gamma2 = Math.Atan(gamma2);
gamma2 = 90 - gamma2 / 0.0174532925199433 - gamma1;
gfx.DrawArc(XPens.Black, rect2, (float)gamma1, (float)gamma2);
}
示例3: Arc
public void Arc(XGraphics gfx, XRect rect, double startAngle, double sweepAngle)
{
Box(gfx, rect, startAngle, sweepAngle);
gfx.DrawArc(properties.Pen3.Pen, rect, startAngle, sweepAngle);
DrawHandMadeArc(gfx, XPens.Red, rect, startAngle, sweepAngle);
}
示例4: DrawArc
/// <summary>
/// Draws an arc.
/// </summary>
void DrawArc(XGraphics gfx, int number)
{
BeginBox(gfx, number, "DrawArc");
XPen pen = new XPen(XColors.Plum, 4.7);
gfx.DrawArc(pen, 0, 0, 250, 140, 190, 200);
EndBox(gfx);
}
示例5: Render
/// <summary>
/// Renders the content of the page.
/// </summary>
public void Render(XGraphics gfx)
{
XRect rect;
XPen pen;
double x = 50, y = 100;
XFont fontH1 = new XFont("Times", 18, XFontStyle.Bold);
XFont font = new XFont("Times", 12);
XFont fontItalic = new XFont("Times", 12, XFontStyle.BoldItalic);
double ls = font.GetHeight(gfx);
// Draw some text
gfx.DrawString("Create PDF on the fly with PDFsharp",
fontH1, XBrushes.Black, x, x);
gfx.DrawString("With PDFsharp you can use the same code to draw graphic, " +
"text and images on different targets.", font, XBrushes.Black, x, y);
y += ls;
gfx.DrawString("The object used for drawing is the XGraphics object.",
font, XBrushes.Black, x, y);
y += 2 * ls;
// Draw an arc
pen = new XPen(XColors.Red, 4);
pen.DashStyle = XDashStyle.Dash;
gfx.DrawArc(pen, x + 20, y, 100, 60, 150, 120);
// Draw a star
XGraphicsState gs = gfx.Save();
gfx.TranslateTransform(x + 140, y + 30);
for (int idx = 0; idx < 360; idx += 10)
{
gfx.RotateTransform(10);
gfx.DrawLine(XPens.DarkGreen, 0, 0, 30, 0);
}
gfx.Restore(gs);
// Draw a rounded rectangle
rect = new XRect(x + 230, y, 100, 60);
pen = new XPen(XColors.DarkBlue, 2.5);
XColor color1 = XColor.FromKnownColor(KnownColor.DarkBlue);
XColor color2 = XColors.Red;
XLinearGradientBrush lbrush = new XLinearGradientBrush(rect, color1, color2,
XLinearGradientMode.Vertical);
gfx.DrawRoundedRectangle(pen, lbrush, rect, new XSize(10, 10));
// Draw a pie
pen = new XPen(XColors.DarkOrange, 1.5);
pen.DashStyle = XDashStyle.Dot;
gfx.DrawPie(pen, XBrushes.Blue, x + 360, y, 100, 60, -130, 135);
// Draw some more text
y += 60 + 2 * ls;
gfx.DrawString("With XGraphics you can draw on a PDF page as well as " +
"on any System.Drawing.Graphics object.", font, XBrushes.Black, x, y);
y += ls * 1.1;
gfx.DrawString("Use the same code to", font, XBrushes.Black, x, y);
x += 10;
y += ls * 1.1;
gfx.DrawString("• draw on a newly created PDF page", font, XBrushes.Black, x, y);
y += ls;
gfx.DrawString("• draw above or beneath of the content of an existing PDF page",
font, XBrushes.Black, x, y);
y += ls;
gfx.DrawString("• draw in a window", font, XBrushes.Black, x, y);
y += ls;
gfx.DrawString("• draw on a printer", font, XBrushes.Black, x, y);
y += ls;
gfx.DrawString("• draw in a bitmap image", font, XBrushes.Black, x, y);
x -= 10;
y += ls * 1.1;
gfx.DrawString("You can also import an existing PDF page and use it like " +
"an image, e.g. draw it on another PDF page.", font, XBrushes.Black, x, y);
y += ls * 1.1 * 2;
gfx.DrawString("Imported PDF pages are neither drawn nor printed; create a " +
"PDF file to see or print them!", fontItalic, XBrushes.Firebrick, x, y);
y += ls * 1.1;
gfx.DrawString("Below this text is a PDF form that will be visible when " +
"viewed or printed with a PDF viewer.", fontItalic, XBrushes.Firebrick, x, y);
y += ls * 1.1;
XGraphicsState state = gfx.Save();
XRect rcImage = new XRect(100, y, 100, 100 * Math.Sqrt(2));
gfx.DrawRectangle(XBrushes.Snow, rcImage);
gfx.DrawImage(XPdfForm.FromFile("../../../../../PDFs/SomeLayout.pdf"), rcImage);
gfx.Restore(state);
}
示例6: DrawArc
private void DrawArc(XGraphics gfx, IArc arc)
{
var pen = new XPen(
ToXColor(arc.Stroke),
X(arc.StrokeThickness));
double x = Math.Min(arc.Point1.X, arc.Point2.X);
double y = Math.Min(arc.Point1.Y, arc.Point2.Y);
double width = Math.Abs(arc.Point2.X - arc.Point1.X);
double height = Math.Abs(arc.Point2.Y - arc.Point1.Y);
gfx.DrawArc(
pen,
X(x),
Y(y),
X(width),
Y(height),
arc.StartAngle,
arc.SweepAngle);
}