当前位置:C++技术网 > 资讯 > GDI+学习记录(3)-画笔线型 DashStyle

GDI+学习记录(3)-画笔线型 DashStyle

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

    GDI+学习记录(3)-画笔线型 DashStyle
通过使用Pen 类的属性DashStyle 可以设置或者访问画笔的线型,GDI+ 在 DashStyle 枚举中提供了5中常见的画笔线型风格,DashStyle 不同的枚举值及其含义如下表所示:

DashStyle 枚举主要定义了实线、虚线、点线、点划线、双点划线和自定义的线型,每种不同的线型从下图可以一目了然:


图中最后一条直线中,使用的是自定义的线型,所谓的自定义就是GDI+内置的5种线型(如 Solid 、Dash 等)不能满足你的要求,此时就需要自己来设计自己需要的线型了,通过设置Pen 类的 DashPattern 属性,可以使用一个预定义的数组类描述画笔的虚实,数组的格式为:
添加命名空间:

using System.Drawing.Drawing2D;


代码:

private void button1_Click(object sender, EventArgs e)  
{  
    Graphics g = this.CreateGraphics();  
    g.Clear(Color.White);  
  
    //默认为实线  
    Pen p = new Pen(Color.Red, 3);  
  
    g.DrawRectangle(p, 50, 50, 200, 100);  
  
    //设置画笔线型  
    p.DashStyle = DashStyle.DashDotDot;  
    g.DrawRectangle(p, 50, 200, 200, 100);  
  
    //使用自定义线型  
    float[] dashArray = {  
        5.0f,  //线长5个像素  
        2.0f,  //间断2个像素  
        15.0f, //线长15个像素  
        8.0f   //间断4个像素  
                        };  
  
    p.DashPattern = dashArray;  
    p.Color = Color.Black;  
    g.DrawLine(p,280,100,500,100);  
  
    //释放资源  
    p.Dispose();  
    g.Dispose();  
}  

效果图: