public static void Draw(Graphics graphics) { var generator = graphics.Generator; var image = TestIcons.TestImage(generator); // lines var whitePen = Pens.White(generator); graphics.DrawLine(whitePen, 1, 1, 99, 99); graphics.DrawLine(whitePen, 50, 1, 50, 99); graphics.DrawLine(whitePen, 1, 51, 99, 51); graphics.DrawRectangle(Pens.White(generator), 101, 1, 100, 100); graphics.DrawRectangle(Pens.White(generator), 101, 1, 10, 10); graphics.DrawEllipse(Pens.Green(generator), 101, 1, 100, 100); graphics.DrawPolygon(Pens.White(generator), new PointF(203, 1), new PointF(253, 51), new Point(203, 101), new PointF(203, 1), new PointF(253, 1), new PointF(253, 101), new PointF(203, 101)); var rect = new RectangleF(255, 1, 100, 100); graphics.DrawArc(Pens.LightGreen(generator), rect, 180, 90); graphics.DrawArc(Pens.SkyBlue(generator), rect, 0, 90); rect.Inflate(-15, 0); graphics.DrawArc(Pens.FloralWhite(generator), rect, -45, 90); rect.Inflate(-5, -20); graphics.DrawArc(Pens.SlateGray(generator), rect, -45, 270); rect.Inflate(-10, -10); graphics.DrawArc(Pens.SteelBlue(generator), rect, 180 + 45, 270); graphics.DrawImage(image, 100, 1, 100, 100); graphics.DrawText(Fonts.Sans(12 * graphics.PointsPerPixel, generator: generator), Colors.White, 0, 104, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); // filled graphics.FillRectangle(Brushes.White(generator), 101, 120, 100, 100); graphics.FillRectangle(Brushes.Gray(generator), 101, 120, 10, 10); graphics.FillEllipse(Brushes.Green(generator), 101, 120, 100, 100); graphics.FillPolygon(Brushes.White(generator), new PointF(202, 120), new PointF(252, 170), new Point(202, 220), new PointF(202, 120)); rect = new RectangleF(255, 120, 100, 100); graphics.FillPie(Brushes.LightGreen(generator), rect, 180, 90); graphics.FillPie(Brushes.SkyBlue(generator), rect, 0, 90); rect.Inflate(-15, 0); graphics.FillPie(Brushes.FloralWhite(generator), rect, -45, 90); rect.Inflate(-5, -20); graphics.FillPie(Brushes.SlateGray(generator), rect, -45, 270); rect.Inflate(-10, -10); graphics.FillPie(Brushes.SteelBlue(generator), rect, 180 + 45, 270); graphics.DrawImage(image, 101, 120, 100, 100); }
/// <summary> /// /// </summary> /// <param name="gfx"></param> /// <param name="brush"></param> /// <param name="pen"></param> /// <param name="isStroked"></param> /// <param name="isFilled"></param> /// <param name="rect"></param> private static void DrawEllipseInternal( Graphics gfx, Brush brush, Pen pen, bool isStroked, bool isFilled, ref Rect2 rect) { if (isFilled) { gfx.FillEllipse( brush, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); } if (isStroked) { gfx.DrawEllipse( pen, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); } }
void Draw(Graphics g, Action<Pen> action) { var path = new GraphicsPath(); path.AddLines(new PointF(0, 0), new PointF(100, 40), new PointF(0, 30), new PointF(50, 70)); for (int i = 0; i < 4; i++) { float thickness = 1f + i * PenThickness; var pen = new Pen(Colors.Black, thickness); pen.LineCap = this.LineCap; pen.LineJoin = this.LineJoin; pen.DashStyle = this.DashStyle; if (action != null) action(pen); var y = i * 20; g.DrawLine(pen, 10, y, 110, y); y = 80 + i * 50; g.DrawRectangle(pen, 10, y, 100, 30); y = i * 70; g.DrawArc(pen, 140, y, 100, 80, 160, 160); y = i * 70; g.DrawEllipse(pen, 260, y, 100, 50); g.SaveTransform(); y = i * 70; g.TranslateTransform(400, y); g.DrawPath(pen, path); g.RestoreTransform(); } }
public static void Draw(Graphics graphics) { var image = TestIcons.TestImage; // lines var whitePen = new Pen(Colors.White, 1); graphics.DrawLine(whitePen, 1, 1, 99, 99); graphics.DrawLine(whitePen, 50, 1, 50, 99); graphics.DrawLine(whitePen, 1, 51, 99, 51); graphics.DrawRectangle(whitePen, 101, 1, 100, 100); graphics.DrawRectangle(whitePen, 101, 1, 10, 10); graphics.DrawEllipse(Pens.Green, 101, 1, 100, 100); graphics.DrawPolygon(whitePen, new PointF(203, 1), new PointF(253, 51), new Point(203, 101), new PointF(203, 1), new PointF(253, 1), new PointF(253, 101), new PointF(203, 101)); var rect = new RectangleF(255, 1, 100, 100); graphics.DrawArc(Pens.LightGreen, rect, 180, 90); graphics.DrawArc(Pens.SkyBlue, rect, 0, 90); rect.Inflate(-15, 0); graphics.DrawArc(Pens.FloralWhite, rect, -45, 90); rect.Inflate(-5, -20); graphics.DrawArc(Pens.SlateGray, rect, -45, 270); rect.Inflate(-10, -10); graphics.DrawArc(Pens.SteelBlue, rect, 180 + 45, 270); graphics.DrawImage(image, 100, 1, 100, 100); graphics.DrawText(Fonts.Sans(12 * graphics.PointsPerPixel), Colors.White, 0, 104, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); // filled graphics.FillRectangle(Brushes.White, 101, 120, 100, 100); graphics.FillRectangle(Brushes.Gray, 101, 120, 10, 10); graphics.FillEllipse(Brushes.Green, 101, 120, 100, 100); graphics.FillPolygon(Brushes.White, new PointF(202, 120), new PointF(252, 170), new Point(202, 220), new PointF(202, 120)); rect = new RectangleF(255, 120, 100, 100); graphics.FillPie(Brushes.LightGreen, rect, 180, 90); graphics.FillPie(Brushes.SkyBlue, rect, 0, 90); rect.Inflate(-15, 0); graphics.FillPie(Brushes.FloralWhite, rect, -45, 90); rect.Inflate(-5, -20); graphics.FillPie(Brushes.SlateGray, rect, -45, 270); rect.Inflate(-10, -10); graphics.FillPie(Brushes.SteelBlue, rect, 180 + 45, 270); graphics.DrawImage(image, 101, 120, 100, 100); const int offset = 440; var xoffset = offset; var yoffset = 112; for (int i = 1; i < 14; i++) { var pen = new Pen(Colors.White, i); pen.LineCap = PenLineCap.Butt; graphics.DrawLine(pen, xoffset, 1, xoffset, 110); graphics.DrawLine(pen, offset, yoffset, offset + 100, yoffset); xoffset += i + 2; yoffset += i + 2; } }
static void EllipseAndCurveTest(Graphics graphics) { var path = new GraphicsPath(); path.FillMode = FillMode.Winding; path.AddBezier(new PointF(10f, 6f), new PointF(10f, 4f), new PointF(8f, 2f), new PointF(6f, 2f)); path.CloseFigure(); var m = Matrix.Create(); m.Scale(60f, 60f); graphics.SaveTransform(); graphics.MultiplyTransform(m); var brush = new SolidBrush(Colors.Black); var pen = new Pen(Colors.Red, 0.1f); graphics.FillPath(brush, path); graphics.DrawPath(pen, path); brush.Dispose(); pen.Dispose(); var brushY = new SolidBrush(Color.FromArgb(0xFF, 0xFF, 0x00, 0x9F)); var penB = new Pen(Color.FromArgb(0x00, 0x00, 0xFF, 0x9F), 0.1f); graphics.DrawEllipse(penB, 10f, 6f, 0.5f, 0.5f); graphics.FillEllipse(brushY, 10f, 6f, 0.5f, 0.5f); graphics.DrawEllipse(penB, 6f, 2f, 0.5f, 0.5f); graphics.FillEllipse(brushY, 6f, 2f, 0.5f, 0.5f); graphics.RestoreTransform(); }
void Draw(Graphics g) { var matrix = Matrix.Create(); matrix.Translate(OffsetX, OffsetY); matrix.Scale(Math.Max(ScaleX / 100f, 0.1f), Math.Max(ScaleY / 100f, 0.1f)); matrix.Rotate(Rotation); var tb = brush as ITransformBrush; if (tb != null) { tb.Transform = matrix; } var gb = brush as LinearGradientBrush; if (gb != null) { gb.Wrap = GradientWrap; } var rect = new RectangleF(0, 0, 200, 100); g.FillEllipse(brush, rect); g.DrawEllipse(Colors.Black, rect); rect = new RectangleF(0, 110, 200, 80); g.FillRectangle(brush, rect); g.DrawRectangle(Colors.Black, rect); }