网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计ppt-第7章推荐.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计ppt-第7章推荐

华中科技大学计算机学院 C语言程序设计 C语言程序设计 第7章 标准库及用户自定义库 接口的概念、与头文件的关系() C标准库的使用,以及图形库函数的应用和动画的设计方法 自定义库的创建 7.3 C图形库及其基本的图形操作 基本输出函数printf 将信息以数字和字符串方式输出在显示屏上 用户 希望结果更形象、更生动、更逼真 例如,windows操作系统取代Dos操作系统 C编译系统 为了方便用户设计图形程序 提供了画图函数库(graphics.h ) 7.3.1 图形显示的窗口和坐标 图形的窗口 可由用户定义它的位置和大小,大可到整个屏幕,小可到几个字符 屏幕上常常可同时有几个活动窗口 所有图形输出都是与当前窗口有关系,超出边界部分将被裁剪掉 7.3.1 图形显示的窗口和坐标 图形的坐标 显示器的整个屏幕就像一张坐标纸 图形上任一点位置用坐标值(x, y)来表示 坐标值 (x, y)以像素为单位 绝对坐标指相对于屏幕原点的坐标 A和B的绝对坐标分别为(20,20)和(420,130) 如定义一个以A为左上角、B为右下角的图形窗口 则用相对坐标表示,A为相对坐标原点,B的相对坐标是(400,110) 7.3.2 图形模式的初始化 原因 微机系统默认屏幕为文本模式(80列,25行字符模式) 此时所有图形函数均不能工作 方法 void initgraph( int far *gdriver, int far *gmode, char far *path) gdriver所指的图形驱动软件装入到内存 参数gmode是图形函数用来确定显示模式的整型指针 7.3.2 图形模式的初始化 初始化前的问题 不知道所用的图形显示器适配器类型,因为图形显示器适配器种类很多 需要将编写的程序用于不同图形驱动器 解决方法 初始化前用Turbo C的自动检测显示器硬件函数 void far detectgraph(int far *gdriver, int far *gmode) 完成对适配器的检查, 得到显示器类型号和相应的最高分辨率模式 图形模式初始化例子 #include graphics.h void main(void) { int gdriver,gmode; detectgraph(gdriver,gmode); /* 自动测试硬件 */ initgraph(gdriver,gmode,bgi); /* 根据测试结果初始化图形模式 */ … } 图形模式初始化的关闭 void far closegraph(void); 用于关闭图形系统,回到文本方式(Turbo C 默认方式) 并释放用于保存图形驱动程序和字体的系统内存。 void far restorecrtmode(void); 用于返回到文本方式,但不关闭图形系统 即图形函数所占用的内存不被释放 和setgraphmode交互使用,在图形和文本之间来回切换。 例7.1 一个能独立运行的简单C图形程序 #includestdio.h #includegraphics.h void main(void) { int gdriver=DETECT,gmode; int i, xradius=130,yradius=130; initgraph( gdriver,gmode, “c:\\tc20\\bgi”); /* 初始化图形模式 注意: bgi不一定需要! */ for(i=0;i20;i++) { /* 绘制20个椭圆, */ ellipse(320,240,0,360,xradius,yradius); xradius-=5; yradius+=5;} getch(); /* 按任意键结束 */ closegraph(); } /* 关闭图形系统 */ 7.3.3 基本图形函数 画点函数 void putpixel(int x, int y, int color); 用color颜色在(x,y)位置画一点 坐标位置函数 int getmaxx(void); int getmaxy(void); 分别得到x轴、 y轴的最大 int getx(void); int gety(void); 分别得到当前画笔的x坐标、y坐标。 void moveto(int x,int y); 把画笔从当前位置移到点(x,y),移动过程不画。 void mover

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档