2D Graphics C#

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
   
class WidenPath: Form
{
     GraphicsPath path= new GraphicsPath();
   
     public static void Main()
     {
          Application.Run(new WidenPath());
     }
     public WidenPath()
     {
          ResizeRedraw = true; 
   
          path.AddLines(new Point[] { new Point(20, 10),
                                      new Point(50, 50),
                                      new Point(80, 10) });
   
          path.AddPolygon(new Point[] { new Point(20, 30),
                                        new Point(50, 70),
                                        new Point(80, 30) });
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }      
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          grfx.ScaleTransform(cx / 300f, cy / 200f);
   
          for (int i = 0; i < 6; i++)
          {
               GraphicsPath pathClone = (GraphicsPath) path.Clone();
               Matrix       matrix    = new Matrix();
               Pen          penThin   = new Pen(clr, 1);
               Pen          penThick  = new Pen(clr, 5);
               Pen          penWiden  = new Pen(clr, 7.5f);
               Brush        brush     = new SolidBrush(clr);               
   
               matrix.Translate((i % 3) * 100, (i / 3) * 100);
   
               if (i < 3)
                    pathClone.Transform(matrix);
               else
                    pathClone.Widen(penWiden, matrix);
   
               switch (i % 3)
               {
               case 0:  grfx.DrawPath(penThin, pathClone);   break;
               case 1:  grfx.DrawPath(penThick, pathClone);  break;
               case 2:  grfx.FillPath(brush, pathClone);     break;
               }
          }
     }
}