




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 程 序 设 计 | 第 九 章,图形及音乐编程基础,第九章,C 程 序 设 计 | 第 九 章,图形显示基础 基本绘图函数 画线的线型设定函数 封闭图形的填色函数及有关画图函数 图形模式下的文本输出 音乐编程,本讲主要内容,C 程 序 设 计 | 第 九 章,本章所介绍的内容需要在Turbo C 或WIN-TC的平台下调试和运行 。,Turbo C为用户提供了一个功能很强的画图软件库,又称为BorLand图形接口(BGI),它包含图形库文件(graphics.lib)、图形头文件(graphics.h)、许多图形显示器的驱动程序和一些字符集的字体驱动程序。用户在自己的画图源程序中必须包含graphics.h头文件,在进行目标程序连接时,要将graphics.lib连接到自己的目标程序中去。,图形显示基础,C 程 序 设 计 | 第 九 章,图形系统的初始化函数 void far initgraph(int far *graphdriver,int far *graphmode,char *path); 图形系统检测函数 void far detectgraph(int far *graphdriver,int far *graphmode);,图形系统初始化及检测,其中graphdriver和graphmode分别表示图形驱动器和模式,path是指图形驱动程序所在的目录路径。,C 程 序 设 计 | 第 九 章,初始化实现图形系统,以坐标点(100,100)为圆心画一个半径为50的圆 。,#include “graphics.h“ main() int graphdriver=DETECT,graphmode; initgraph( ,图形初始化示例,例9.1,C 程 序 设 计 | 第 九 章,图形检测函数的使用。,#include “graphics.h“ main() int graphdriver; int graphmode; detectgraph( ,图形初始化示例,例9.2,C 程 序 设 计 | 第 九 章,在文本方式下,屏幕被分成25、40或50行,80或40列宽。系统默认的坐标是:原点在屏幕左上角(1,1),坐标是整数,X坐标从左向右增加,Y坐标从上到下增加。 在图形方式下,屏幕被划分为像素,每个像素在屏幕上显示一个点。像素的个数取决于机器中安装的视频适配器的类型和适配器的工作方式。系统默认的坐标是:原点在屏幕左上角(0,0),坐标为整数,X坐标从左向右增加,Y坐标从上到下增加。屏幕上的X、Y值都有一个最大值。,图形坐标,C 程 序 设 计 | 第 九 章,在以点(320,220)为原点的新坐标系中,画一个以该坐标系中的点(50,50)为圆心,半径为50的圆。,#include “graphics.h“ main() int graphdriver=DETECT,graphmode; int before_x,before_y,later_x=50,later_y=50; int origin_x=320,origin_y=220; initgraph( ,图形坐标使用,例9.3,C 程 序 设 计 | 第 九 章,用白色的背景,红色的画笔,以点(100,100)为圆心,50为半径作一个圆 。,#include “graphics.h“ main() int graphdriver=DETECT,graphmode; initgraph( ,背景色和作图色的设置,例9.4,在C语言中,图形模式的屏幕颜色设置分为背景色的设置和作图色的设置。背景色的设置通过函数setbkcolor(int color),作图色的设置通过对函数setcolor(int color)的调用来实现的。,C 程 序 设 计 | 第 九 章,基本绘图函数,画点函数 void far putpixel(int x,int y,int color); int far getpixel(int x,int y); 位置函数 void far moveto(int x,int y); void far moverel(int dx,int dy); int far getx(void); int far gety(void);,C 程 序 设 计 | 第 九 章,它将在y=20 的恒定位置上,沿x方向从x=200 开始,连续画两个点(间距为4个像素的距离),又间隔16 个点位置,再画两个点,如此循环,直到x=300 为止,每画出的两个点中的第一个由putpixel(x,20,1)所画,第二个则由putpixel(x+4,20,2)画出,颜色值分别设为14和5。,基本绘图示例,例9.5,#include “graphics.h“ main() int graphdriver=DETECT,graphmode,x; initgraph(,C 程 序 设 计 | 第 九 章,基本绘图函数,画线函数 void far line(int x0,int y0,int x1,int y1); void far lineto(int x,int y); void far linerel(int dx,int dy);,C 程 序 设 计 | 第 九 章,基本绘图函数,画矩形和条形图函数 void far rectangle(int xl,int y1,int x2,int y2); void bar(int x1,int y1,int x2,int y2);,C 程 序 设 计 | 第 九 章,基本绘图函数,画椭圆、圆和扇形图函数 void ellipse(int x,int y,int stangle,int endangel,int xradius,int yradius); void far circle(int x,int y,int radius); void far arc(int x,int y,int stangle,int endangle,int radius); void far pieslice(int x,int y,int stangle,int endangle,int radius);,C 程 序 设 计 | 第 九 章,基本绘图函数,画线型设定函数 void far setlinestyle(int linestyle,unsigned upattern,int thickness);,Linestyle:整型变量。设定所画直线的类型; upattern:无符号整型变量。 thickness:整型变量。不设定时,取缺省值,即一个像素宽,当设定为3 时,可取3个像素宽。,C 程 序 设 计 | 第 九 章,填色及有关函数,填色函数 void far setfilestyle(int pattern,int color);,该函数将用设定的color颜色和pattern 图模式对后面画出的轮廓图进行填充,这些图轮廓是由待定函数画出的,color实际上就是调色板寄存器索引号,对VGAHI 方式为0l5,即l6 色。pattern 表示填充模式 。,C 程 序 设 计 | 第 九 章,填色及有关函数,画三维立体直方图函数 void far bar3d(int x1,int y1,int x2,int y2,int depth,int topflag);,画椭圆扇形函数 viod far sector(int x,int y,int stangle,int endang1e,int xradius,int yradius);,C 程 序 设 计 | 第 九 章,填色及有关函数,画椭圆函数 void far fillellipse(int x,int y,int xradius,int yradius);,画多边形图函数 void far fillpoly(int numpoints,int far *polypoints);,C 程 序 设 计 | 第 九 章,填色及有关函数,可对任意封闭图形填充的函数 void far floodfill(int x,int y,int border);,该函数将对一封闭图形进行填充,其颜色和模式将由设定的或缺省的图模与颜色决定。其中参数(x,y)为封闭图形中的任一点,border是封闭图形的边框颜色。编程时该函数位于画图形的函数之后,即要填充该图形。,C 程 序 设 计 | 第 九 章,图形模式下的文本输出,文本输出函数 void far outtext(char far *textstring); void far outtextxy(int x,int y,char far *textstring); int sprintf(char *str,char *format,variable-list);,C 程 序 设 计 | 第 九 章,图形模式下的文本输出,有关文本字体、字型和输出方式的设置函数 void far settexjustify(int horiz,int vert); void far settextstyle(int font,int direction,int charsize);,C 程 序 设 计 | 第 九 章,音乐编程,有关文本字体、字型和输出方式的设置函数 void sound(unsigned frequency); void nosound(void); void delay (unsigned milliseconds);,C 程 序 设 计 | 第 九 章,1.画条形图程序。 2.使用覆盖刷新法来实现车轮在隧道中滚动。 3.自动弹奏歌曲樱花。,编程练习,要求:在TC或WIN-TC环境下,通过师生互动的形式完成编程。,C 程 序 设 计 | 第 九 章,本章对C语言的图形功能做了详细的介绍,特别着重阐述了其丰富的库函数,并引申到了动画的基本设计方法。同时也介绍了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版八年级道德与法治上册教学设计:1.1 我与社会
- 公正无私(教学设计)-中华传统文化五年级上册
- 一年级数学上册 八 10以内的加法和减法练习八(一)教学设计 苏教版
- 建筑材料报审表(完整版)
- 九年级化学下册 第11单元 盐 化肥 实验活动8 粗盐中难溶性杂质的去除教学设计 (新版)新人教版
- 2024四川九洲投资控股集团有限公司招聘数字化转型(法务)岗等岗位8人笔试参考题库附带答案详解
- 三年级数学下册 第九单元 探索乐园9.2 简单的逻辑推理教学设计 冀教版
- 电气二次回路培训
- 畜牧医学在线培训课件
- 大学生学生干部培训心得体会
- 医院医务科科长岗位竞聘答辩PPT模板
- API-682密封系统-中英文对照版
- 层框架结构设计计算书(全手算附图)
- 电动葫芦出厂检验报告
- 如何培养孩子的创造力与想象力
- 挖机大中斗油封资料,液压泵资料
- 住院患者探视登记表
- 废气处理工程施工方案模板
- 境外所得个税新政解析PPT课件
- 工程网络计划技术概述
- 《不定期船营运管理模拟系统》实验指导书
评论
0/150
提交评论