Type Default Value Read Only Static Description
CustomLineCap None No No Gets or sets a custom starting cap style. This cap will be used to decorate the end of lines drawn using this Pen. Setting this property to a value other than null will set the StartCap to LineCap.Custom.
Notes

None.

Example

[C#]using (Bitmap bm = new Bitmap(600, 600)) {
  using (Graphics graphics = Graphics.FromImage(bm)) {
    GraphicsPath big = new GraphicsPath();
    big.AddEllipse(-2, -2, 4, 4);
    GraphicsPath small = new GraphicsPath();
    small.AddEllipse(-1, -1, 2, 2);
    Pen pen = new Pen(Color.Black, 20);
    pen.CustomStartCap = new CustomLineCap(null, big);
    pen.CustomEndCap = new CustomLineCap(small, null);
    for (int i = 0; i < 3; i++) {
      pen.CustomStartCap.BaseInset = i;
      pen.CustomEndCap.BaseInset = i;
      pen.Color = Color.Red;
      graphics.DrawLine(pen, 100, 100, 200, 200);
      pen.Color = Color.Green;
      graphics.DrawLine(pen, 200, 200, 100, 400);
      pen.Color = Color.Blue;
      graphics.DrawLine(pen, 100, 400, 200, 500);
      graphics.TranslateTransform(150, 0);
    }
  }
  bm.Save(Server.MapPath("IG8_CustomLineCap.png"));
}


The code here uses two different custom line caps. We vary the BaseInset to show how it affects the end point of the line. The final output is shown below. If you are interested in designs for custom end points HTML Arrows is a good place to start.


IG8_CustomLineCap.png