Graphic Class Method
Draw Method
Digunakan untuk menggambar garis, rectangle, dan ellipse
Drawing Lines
Method DrawLine digunakan untuk menggambar garis yang menghubungkan dua titik.
Contoh2_4 Menggambar Garis
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen redPen = new Pen(Color.Red, 1); Pen bluePen = new Pen(Color.Blue, 2); Pen greenPen = new Pen(Color.Green, 3); Pen blackPen = new Pen(Color.Black, 4); // Draw line using float coordinates float x1 = 20.0F, y1 = 20.0F; float x2 = 200.0F, y2 = 20.0F; g.DrawLine(redPen, x1, y1, x2, y2); // Draw line using Point structure Point pt1 = new Point(20, 20); Point pt2 = new Point(20, 200); g.DrawLine(greenPen, pt1, pt2); // Draw line using PointF structure PointF ptf1 = new PointF(20.0F, 20.0F); PointF ptf2 = new PointF(200.0F, 200.0F); g.DrawLine(bluePen, ptf1, ptf2); // Draw line using integer coordinates int X1 = 60, Y1 = 40, X2 = 250, Y2 = 100; g.DrawLine(blackPen, X1, Y1, X2, Y2); // Dispose of objects redPen.Dispose(); bluePen.Dispose(); greenPen.Dispose(); blackPen.Dispose(); }
Contoh2_5 Menggambar Garis yang Terhubung
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen redPen = new Pen(Color.Red, 1); PointF[] ptsArray ={ new PointF( 20.0F, 20.0F), new PointF( 20.0F, 200.0F), new PointF(200.0F, 200.0F), new PointF(20.0F, 20.0F)}; g.DrawLines(redPen, ptsArray); }
Drawing Rectangle
Bentuk dasar selanjutnya adalah rectangle. Jika anda ingin menggambar rectangle maka yang harus diperhatikan adalah titik awal / starting point, width, dan height-nya.
Contoh2_6 Menggambar Rectangle
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create pens and points Pen redPen = new Pen(Color.Red, 1); Pen bluePen = new Pen(Color.Blue, 2); Pen greenPen = new Pen(Color.Green, 3); float x = 5.0F, y = 5.0F; float width = 100.0F; float height = 200.0F; // Create a rectangle Rectangle rect = new Rectangle(20, 20, 80, 40); // Draw rectangles g.DrawRectangle(bluePen, x, y, width, height); g.DrawRectangle(redPen, 60, 80, 140, 50); g.DrawRectangle(greenPen, rect); // Dispose of objects redPen.Dispose(); bluePen.Dispose(); greenPen.Dispose(); }
Contoh 2_7 Menggambar Rectangle Berurutan / Series Mode
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen greenPen = new Pen(Color.Green, 4); RectangleF[] rectArray = { new RectangleF( 5.0F, 5.0F, 100.0F, 200.0F), new RectangleF(20.0F, 20.0F, 80.0F, 40.0F), new RectangleF(60.0F, 80.0F, 140.0F, 50.0F) }; g.DrawRectangles(greenPen, rectArray); greenPen.Dispose(); }
Drawing Ellipses dan Circle
Bentuk ellipses adalah bentuk circular didalam bentuk rectangle. Bentuk ellipses mempunyai titik tengah / center point.
Contoh2_8 Menggambar Ellipses
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create pens Pen redPen = new Pen(Color.Red, 6); Pen bluePen = new Pen(Color.Blue, 4); Pen greenPen = new Pen(Color.Green, 2); // Create a rectangle Rectangle rect = new Rectangle(80, 80, 50, 50); // Draw ellipses g.DrawEllipse(greenPen, 100.0F, 100.0F, 10.0F, 10.0F); g.DrawEllipse(redPen, rect); g.DrawEllipse(bluePen, 60, 60, 90, 90); g.DrawEllipse(greenPen, 40.0F, 40.0F, 130.0F, 130.0F); // Dispose of objects redPen.Dispose(); greenPen.Dispose(); bluePen.Dispose(); }
Drawing Text
Digunakan untuk menggambar text string dalam graphic surfaces
Contoh2_9 Menggambar String
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create brushes SolidBrush blueBrush = new SolidBrush(Color.Blue); SolidBrush redBrush = new SolidBrush(Color.Red); SolidBrush greenBrush = new SolidBrush(Color.Green); // Create a rectangle Rectangle rect = new Rectangle(20, 20, 200, 100); // The text to be drawn String drawString = "Hello GDI+ World!"; // Create a Font object Font drawFont = new Font("Verdana", 14); float x = 100.0F; float y = 100.0F; // String format StringFormat drawFormat = new StringFormat(); // Set string format flag to direction vertical, // which draws text vertically drawFormat.FormatFlags = StringFormatFlags.DirectionVertical; // Draw string g.DrawString("Drawing text", new Font("Tahoma", 14), greenBrush, rect); g.DrawString(drawString, new Font("Arial", 12), redBrush, 120, 140); g.DrawString(drawString, drawFont, blueBrush, x, y, drawFormat); // Dispose of objects blueBrush.Dispose(); redBrush.Dispose(); greenBrush.Dispose(); drawFont.Dispose(); }
Drawing Arc
Arc adalah bagian dari ellipse, yang dibentuk dari area rectangle, start angle, dan sweep angle. Cara penggunaan Arc adalah sebagai berikut:
Contoh2_11 Menggambar Arc
Buat design form sebagai berikut:
Buat variabel awal untuk deklarasi awal start dan sweep angle
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen redPen = new Pen(Color.Red, 3); Rectangle rect = new Rectangle(20, 20, 200, 200); g.DrawArc(redPen, rect, startAngle, sweepAngle); redPen.Dispose(); } private void btnReset_Click(object sender, EventArgs e) { startAngle =(float)Convert.ToDouble(txtStart.Text); sweepAngle =(float)Convert.ToDouble(txtSweep.Text); Invalidate(); }
Drawing Curves
Curve terdiri dari dua macam yaitu open dan close curve
Contoh2_12 Drawing Curves
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create a pen Pen bluePen = new Pen(Color.Blue, 1); // Create an array of points PointF pt1 = new PointF(40.0F, 50.0F); PointF pt2 = new PointF(50.0F, 75.0F); PointF pt3 = new PointF(100.0F, 115.0F); PointF pt4 = new PointF(200.0F, 180.0F); PointF pt5 = new PointF(200.0F, 90.0F); PointF[] ptsArray = { pt1, pt2, pt3, pt4, pt5 }; // Draw curve g.DrawCurve(bluePen, ptsArray); // Dispose of object bluePen.Dispose(); }
Contoh2_13 Drawing Curves dengan Tension
private float tension = 0.5F; private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create a pen Pen bluePen = new Pen(Color.Blue, 1); // Create an array of points PointF pt1 = new PointF(40.0F, 50.0F); PointF pt2 = new PointF(50.0F, 75.0F); PointF pt3 = new PointF(100.0F, 115.0F); PointF pt4 = new PointF(200.0F, 180.0F); PointF pt5 = new PointF(200.0F, 90.0F); PointF[] ptsArray = { pt1, pt2, pt3, pt4, pt5 }; // Draw curve g.DrawCurve(bluePen, ptsArray,tension); // Dispose of object bluePen.Dispose(); } private void btnApply_Click(object sender, EventArgs e) { tension = (float)Convert.ToDouble(txtTension.Text); Invalidate(); }
Contoh2_14 Drawing Closed Curve
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create a pen Pen bluePen = new Pen(Color.Blue, 1); // Create an array of points PointF pt1 = new PointF(40.0F, 50.0F); PointF pt2 = new PointF(50.0F, 75.0F); PointF pt3 = new PointF(100.0F, 115.0F); PointF pt4 = new PointF(200.0F, 180.0F); PointF pt5 = new PointF(200.0F, 90.0F); PointF[] ptsArray = { pt1, pt2, pt3, pt4, pt5 }; // Draw curve g.DrawClosedCurve(bluePen, ptsArray); // Dispose of object bluePen.Dispose(); }
Drawing Polygon
Polygon adalah bentuk yang terdiri dari tiga atau lebih garis, misal: segitiga, dan kotak.
Contoh2_15 Drawing Polygon
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create pens Pen greenPen = new Pen(Color.Green, 2); Pen redPen = new Pen(Color.Red, 2); // Create points for polygon PointF p1 = new PointF(40.0F, 50.0F); PointF p2 = new PointF(60.0F, 70.0F); PointF p3 = new PointF(80.0F, 34.0F); PointF p4 = new PointF(120.0F, 180.0F); PointF p5 = new PointF(200.0F, 150.0F); PointF[] ptsArray = { p1, p2, p3, p4, p5 }; // Draw polygon g.DrawPolygon(greenPen, ptsArray); // Dispose of objects greenPen.Dispose(); redPen.Dispose(); }
Drawing Graphic Path
Graphic Path menghubungkan beberapa objek drawing seperti line, rectable, circle, dll.
Contoh2_16 Drawing Graphic Path
using System.Drawing; using System.Drawing.Drawing2D; private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; // Create a pen Pen greenPen = new Pen(Color.Green, 1); // Create a graphics path GraphicsPath path = new GraphicsPath(); // Add a line to the path path.AddLine(20, 20, 103, 80); // Add an ellipse to the path path.AddEllipse(100, 50, 100, 100); // Add three more lines path.AddLine(195, 80, 300, 80); path.AddLine(200, 100, 300, 100); path.AddLine(195, 120, 300, 120); // Create a rectangle and call // AddRectangle Rectangle rect = new Rectangle(50, 150, 300, 50); path.AddRectangle(rect); // Draw path g.DrawPath(greenPen, path); // Dispose of object greenPen.Dispose(); }
Drawing Pie Shapes
Contoh2_17 Drawing Pie Chart
private void btnDraw_Click(object sender, EventArgs e) { // Create a Graphics object Graphics g = this.CreateGraphics(); g.Clear(this.BackColor); // Get the current value of start and sweep // angles float startAngle = (float)Convert.ToDouble(textBox1.Text); float sweepAngle = (float)Convert.ToDouble(textBox2.Text); // Create a pen Pen bluePen = new Pen(Color.Blue, 1); // Draw pie g.DrawPie(bluePen, 20, 20, 100, 100, startAngle, sweepAngle); // Dispose of objects bluePen.Dispose(); g.Dispose(); }
bersambung Part 3…..