当前位置:C++技术网 > 资讯 > GDI+学习记录(4)-画笔对齐 PenAlignment

GDI+学习记录(4)-画笔对齐 PenAlignment

更新时间:2015-10-07 16:49:00浏览次数:1+次

    由于画笔是有宽度的,相对于绘制线条来说,画笔宽度方向上的中心位置是由其对齐方式来决定的,在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();  
        }