由于画笔是有宽度的,相对于绘制线条来说,画笔宽度方向上的中心位置是由其对齐方式来决定的,在GDI+中,画笔对齐方式是有枚举 PenAlignment 来描述的,PenAlignment 定义表如下所示:
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(Color.White);
//构建三支画笔
Pen redPen = new Pen(Color.Red,1);
Pen greenPen = new Pen(Color.Green,8);
Pen bluePen = new Pen(Color.Blue,16);
//定义2个矩形
Rectangle rectOne = new Rectangle(50,50,200,200);
Rectangle rectTwo = new Rectangle(300,50,200,200);
//绘制正方形基线
g.DrawRectangle(redPen,rectOne);
g.DrawRectangle(redPen,rectTwo);
//画圆
g.DrawEllipse(bluePen,rectOne);
g.DrawEllipse(greenPen,rectOne);
//设置画笔对齐方式为 Inset
greenPen.Alignment = PenAlignment.Inset;
bluePen.Alignment = PenAlignment.Inset;
//重新画圆
g.DrawEllipse(bluePen,rectTwo);
g.DrawEllipse(greenPen,rectTwo);
//释放对象
redPen.Dispose();
greenPen.Dispose();
bluePen.Dispose();
g.Dispose();
}