多语言展示
当前在线:1810今日阅读:27今日分享:41

C#GDI+绘制基本直线

GDI+主要用在在窗体上绘制各种各样的图形图像,可以用来绘制各种数据图形、数字仿真等。也能创建于设备无关的应用程序。
工具/原料

visual studio2017程序设计软件

方法/步骤
1

创建一个winform应用程序项目:打开visual studio2017程序设计软件,进入文件->新建->项目。在新建项目选项中选择编程语言visual C#下的Windows经典桌面,创建一个Windows窗体项目。

2

在窗体中增加两个按钮,分别完成的功能是画水平直线和垂直直线。具体界面图如下:

3

在程序中用到Pen对象,它确定了线条的颜色、宽度和样式。连个point结构,用来控制直线的起点和终点。这里为了说明pen对象。我特意设置了不同颜色和宽度的直线。水平直线宽度为5个像素红色的,垂直指向为3个像素黑色的。具体效果图如下

4

那么水平直线到底是怎么实现的呢?下面我就来具体分析分析:首先创建一个Pen对象:Pen pen = new Pen(Color.Red, 5);设置两个点分别为:Point point1 = new Point(10, 50);                              Point point2 = new Point(100, 50);在窗体上创建一个画图对象:Graphics g = this.CreateGraphics();调用它就能显示图像了咯g.DrawLine(pen, point1, point2);

5

垂直直线实现和水平直线差不多,这里不同点在坐标位置和Pen对象的不同。首先垂直直线的Pen对象为Pen pen = new Pen(Color.Black, 3);两个坐标点分别为:Point point1 = new Point(150, 30);                               Point point2 = new Point(150, 100);

6

现在我们的代码已经编写好了,可以试着运行运行了。是不是可以看到效果呢,但是我们将这个窗体最小化或者覆盖在显示发现我们绘制的图形不见了。我们该如何解决这个问题呢?在C# GDI+中,窗体和时间有一个Paint事件,用来实现对图形的重绘制,所以就可以把画直线部分放到Paint中了。选择窗体,在事件中找到Paint事件并创建它

7

在Paint事件中可以直接用Graphics g = e.Graphics;这个方法创建Graphics对象。然后就讲绘制直线的代码拷贝过来稍作修改就好了。具体代码如下:

8

运行编译软件,发现一加载窗体就绘制好了图像,即使最小化或者用其他窗体覆盖我们绘制的图形也一直在窗体上。

注意事项

绘图时要主要不是Paint事件中绘制的图形容易刷新消失掉。

推荐信息