您的位置:首页 > 编程语言 > C#

C#Graphics类绘制直线与拖动

2015-06-04 16:04 351 查看
Grapgics对象类似画布或者一张纸,供其他对象在上面作图。具体用Grapgics类绘制一条直线的方法如下:

Graphics
g;

        Pen newPen = new Pen(Color.Yellow);//定义一个画笔,黄色

        Point startP = new Point(20,20);//线的起始点坐标

        Point endP = new Point(100,100);//线的终止点坐标

        Line line ;

line
= new Line(startP, endP);

        g = this.pictureBox1.CreateGraphics();

        g.DrawLine(newPen, line.startPoint, line.endPoint);//绘制直线

这样直线就画出来了,为了能拖动线的终止点,首先当鼠标在线的终止点上时,变换线的颜色(下面的方法都在MouseMove事件中):

//获取当前鼠标位置

        Point p = new Point();

        p.X = e.X;

        p.Y = e.Y;

        Rectangle rect = new Rectangle(line.endPoint.X - 3, line.endPoint.Y - 3, 6, 6);//定义一个区域,当鼠标在这个区域内时,改变线的颜色

        if (p.X >= rect.X && p.X <= rect.Right && p.Y >= rect.Top && p.Y <= rect.Bottom)

        {

            //当鼠标靠近线的尾端的时候,变成蓝色

            newPen.Color = Color.Blue;

            g.DrawLine(newPen, line.startPoint, line.endPoint);

        }

拖动直线:

//移动直线的时候为红色

        this.pictureBox1.Refresh();//刷新界面,不然的话整个界面上到处都是线

        newPen.Color = Color.Red;

        line.endPoint = p;

        g.DrawLine(newPen, line.startPoint, line.endPoint);

上面只是一个简单的例子,等以后有时间了再好好学习一下Graphics中其他的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# Graphics