第12章C作图与图形处理.ppt
《第12章C作图与图形处理.ppt》由会员分享,可在线阅读,更多相关《第12章C作图与图形处理.ppt(43页珍藏版)》请在三一文库上搜索。
1、2019/8/23,1,第十二章 C作图与图形处理,图形系统的初始化及基本框架 图形系统中的像素与坐标 常用图形函数 图形方式下的文本输出函数 屏幕操作函数及动画基本知识 VRAM的读写,2019/8/23,2,第一节 图形系统的初始化及基本框架,显示器的工作方式: 文本方式(默认方式) 以字符为单位显示文本,一般一屏25行80列字符 图形方式 以像素为单位显示图形 以上两种显示方式可以互相转换,2019/8/23,3,一、图形方式的初始化,要作图,必须对显卡初始化,使之工作在图形方式: 初始化函数: void initgraph(int* gdriver, int* gmode, char*
2、 driver_path ) 该函数在 “graphics.h” 中定义 第一个参数对应显示适配器的类型,目前绝大多数显卡都是VGA显卡 第二个参数对应显示方式(表12-1所示) 第三个参数用来指明显卡驱动程序的位置,若在当前目录中,可写为“”,初始化方法一: int main( ) int driver = VGA; /VGA其实是枚举常量 int mode = VGAHI; /高分辨率,见p141表 initgraph(,2019/8/23,4,特别说明: 作图程序编译、连接后,形成可执行文件(.exe文件),此文件若拷贝到其他机器上运行,必须保证显示驱动程序在该机存在,且在指定目录中。
3、若用:initgraph( 则驱动程序应与.exe文件在同一目录 通常,都是把驱动程序和可执行文件一起拷贝。,2019/8/23,5,特别说明: 若不想向另外机器上拷贝驱动程序,想生成一个可独立运行的exe文件,则需按下面三步进行: 1. D:tcBGIOBJ EGAVGA 磁盘上将生成EGAVGA.OBJ文件 2. D:tcTLIB libgraphics.lib+egavga.obj 磁盘上graphics.lib将包含驱动程序(增加4K) 3. 程序中,initgraph()调用前加上一行: registerbgidriver(EGAVGA_driver);,2019/8/23,6,特别
4、说明: 同样的道理,若需要不依赖于字体(英)驱动的可执行文件,也需将字体驱动连接到graphics.lib中,如: 1. D:tcBGIOBJ trip D:tcBGIOBJ litt 磁盘上将生成trip.obj、litt.obj文件 2. D:tcTLIB libgraphics.lib+trip.obj D:tcTLIB libgraphics.lib+litt.obj graphics.lib将包含字符驱动程序 3. 程序中,initgraph()调用前加上: registerbgifont(triplex_font); registerbgifont(small_font);,201
5、9/8/23,7,若不知道显示器的类型, 可将graphdriver置为DETECT, 系统将自动检测其类型, 将相应的驱动程序装入, 并将显示模式置成最高模式 初始化方法二: int main() int driver = DETECT; int mode; initgraph( return 0; ,2019/8/23,8,2019/8/23,9,二、图形方式的关闭,关闭图形方式,返回文本方式的函数: void closegraph( ) 说明:还有一个restorecrtmode( ) 也可以返回文本方式,两者的区别:后者在内存中保留驱动程序和字符集,暂时返回文本方式,可随时用函数set
6、graphmode(VGAHI )切换回图形方式,而closegraph()则是完全释放驱动程序和字符集。,作图程序开始时,先要用initgraph()初始化,而在作图结束时,总要用closegraph()关闭图形方式,使屏幕转回文本方式,程序中的initgraph()和closegraph()总是成对出现的。 初始化后的清屏: 初始化后一般应清屏,使屏幕如同一张白纸,清屏函数的原型是: void cleardevice( ) ;,2019/8/23,10,2019/8/23,11,三、作图程序的基本框架及实例,#include / 包含绘图头文件 int main( ) int gdrive
7、r = DETECT; int gmode; initgraph( ,2019/8/23,12,例12-1:画圆程序 #include int main() int gdriver = DETECT; int gmode; initgraph( ,2019/8/23,13,第二节 图形系统中的像素与坐标,图形方式下,屏幕被划分为一个一个的“点”,这些点被称作像素。像素是组成图像的最基本元素。 像素的位置是由坐标表示的 图形初始化后, 系统默认的画图区域是整个屏幕, 画笔的位置是(0,0)-即屏幕左上角。 见图12-1(p144),像素操作函数: void putpixel(int x, int
8、 y, int color); 功能:在指定位置用指定颜色画一个点 作图颜色与常量之间的对应关系 见表12-2 (p144) int getpixel(int x, int y); 功能:返回指定位置的像素颜色,2019/8/23,14,2019/8/23,15,第三节 常用图形函数,函数原型及使用说明 参见教材12.3 在程序框架下,逐个练习每个作图函数的用法。,2019/8/23,16,第四节 图形方式下的文本输出函数,1、void outtext(char *textstring); 功能:在当前位置输出字符串 说明:textstring可以是指向字符串的指针变量,也可以是字符串常量 如
9、: char *p=“hello”; outtext(p); outtext(“hello”);,2019/8/23,17,2、void outtextxy(int x, int y, char * textstring); 功能:在指定位置输出字符串 如: char *p=“hello”; outtextxy(200,100,p); 或: outtextxy(200,100,“hello”);,2019/8/23,18,3、void settextstyle(int font, int derection,char size); 功能:设置文本的字体、字号和输出方向 4、void sette
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 作图 图形 处理
链接地址:https://www.31doc.com/p-3419961.html