在该随笔中将介绍一些GDI的绘图函数,以加深您对于程序绘图的认识。
1、文字输出
窗口画面上的文字输出比后面所要介绍的几个绘图函数还要重要,因为在程序设计时,可能有时需要在画面上显示一些数据和信息,以利于程序本身的追踪与排错。
范例ch2_2:根据鼠标的移动,将光标所在位置的坐标值显示在窗口中。
下载:ch2_2(上传到windows live空间,可能需要MSN账号登陆)
说明:程序源代码中有相关的注释。
运行结果如下图:
2、多边形函数
下表中给出了GDI函数中关于多边形的绘图函数:
函数名称 | 说明 |
Polygon | 绘制封闭多边形 |
PolyLine | 绘制多边线条 |
PolylineTo | 以当前画笔所在位置绘制多边线条 |
PolyPolygon | 绘制多个封闭多边形 |
PolyPolyline | 绘制多个多边线条 |
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
范例ch2_3:展示多边形绘制函数的用法,并在窗口中绘制多边形。
下载: ch2_3(上传到windows live空间,可能需要MSN账号登陆)
说明:程序源代码中有相关的注释。
运行结果如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/720ea2072282b98acb513c5baf61258c.jpeg)
3、封闭图形函数
下边再来讨论一下封闭几何图形的绘制方法,“ 画笔与画刷”随笔中介绍了画矩形的Rectangle()函数,现在再来看看画椭圆形的GDI函数。
![](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
下面再来看看绘制圆角矩形的函数。
![](https://i-blog.csdnimg.cn/blog_migrate/2f88ce130b654eb5dc6788e02dbcfc90.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/df37983f39daa189b8c814e01a6a9011.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0ac3a2d53663ec01c7f7225264eeefae.gif)
最后来说明绘制扇形(Pie)与弓形(Chord)函数,扇形与弓形都是椭圆的一部分。
扇形与弓形都有连接的起点与终点,不同之处在于,扇形还会与椭圆的中心点相连接,而弓形则直接连接起点与终点。绘制扇形的函数为Pie(),绘制弓形的函数则为Chord(),两者输入的参数意义都相同,下面以Pie()函数为例来进行说明。
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cbef093dcc044b2793832001e2365e43.gif)
范例ch2_4:显示封闭图形绘制函数的用法,并在窗口中绘制不同图形。
下载: ch2_4(上传到windows live空间,可能需要MSN账号登陆)
说明:程序源代码中有相关的注释。
运行结果如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/6611be9a153343e6aec38039d6aa16ca.jpeg)
PS:如想获得更多关于Visual C++游戏开发的内容,可点击随笔 :《Visual C++游戏编程基础》学习笔记——索引随笔。