效果:

GDI+基础知识——画笔的对齐方式_Red

 

代码:

private void Pen_Align_Click(object sender, System.EventArgs e)
{
Graphics graphics = this.CreateGraphics();
graphics.Clear(Color.White);
graphics.SmoothingMode = SmoothingMode.HighQuality;

Pen pen = new Pen(Color.Gray, 1.0f); Pen pen1 = new Pen(Color.FromArgb(255,Color.Green),12);
Pen pen2 = new Pen(Color.FromArgb(155,Color.Red),20);

for(int i = 0; i<5;i++)
{
pen1.Alignment = (PenAlignment)i;
for(int j = 0;j<5;j++)
{
pen2.Alignment = (PenAlignment)j;
graphics.TranslateTransform(20,0);
//graphics.DrawLine(pen2, new Point(0,30), new Point(60,30));
//graphics.DrawLine(pen1, new Point(0,30), new Point(60,30));
graphics.DrawEllipse(pen1,0,30,80,80);
graphics.DrawEllipse(pen2,0,30,80,80); graphics.DrawString("绿色:"+pen1.Alignment.ToString() + "\n红色:" + pen2.Alignment.ToString(),new Font("Arial",12,FontStyle.Bold),new SolidBrush(Color.Yellow),0f,30f);
graphics.DrawString("绿色:"+pen1.Alignment.ToString() + "\n红色:" + pen2.Alignment.ToString(),new Font("Arial",12),new SolidBrush(Color.Black),0f,30f); graphics.TranslateTransform(110,0);
}
graphics.ResetTransform();
graphics.TranslateTransform(0,100*(i+1));
}

graphics.ResetTransform();
//graphics.DrawLine(pen,0,30,600,30);
graphics.Dispose();
}