C语言怎样初始化图形模式?

一、问题

在C语⾔中,initgraph( ) 函数⽤于初始化图形模式。初始化时,那么多参数都是⼲什么的?怎样设置?

二、解答

initgraph( ) 函数⽤于初始化图形模式,其语法格式如下。

cpp 复制代码
void far initgraph(int far * gdriver, int far *gmode,char *path);

其中,gdriver 和 gmode 分别表⽰图形驱动器和图形模式;path 是指图形驱动程序所在的⽬录路径。图形驱动程序枚举常量如下(打开 graphics.h 即可找到):

cpp 复制代码
enum graphics_drivers
{
    DETECT,
    CGA,
    MCGA,
    EGA,
    EGA64,
    EGAMONO,
    IBM8514,
    HERCMONO,
    ATT400,
    VGA,
    PC3270,
    CURRENT_DRIVER = -1
};

有关图形驱动器、图形模式的符号常数及对应的分辨率如表所示(打开 graphics.h 即可找到)。

图形驱动程序由 Turbo C 出版商提供,⽂件扩展名为.BGI。针对不同的图形适配器, 有不同的图形驱动程序可供调⽤。例如,对于 EGA、 VGA 图形适配器将调⽤驱动程序EGAVGA.BGI。例如:

cpp 复制代码
int driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");

即将屏幕驱动程序初始化为 VGA,图形模式初始化为 VGAHL。也许有的读者会问:"这 么多驱动程序,我怎么知道我的电脑是什么驱动程序呀?" ⼀般来说,⼀个显示卡⽀持以上多种驱动程序。此外,还可以使⽤ DETECT测试你的电脑是什么驱动程序。

程序写成:

cpp 复制代码
int driver=DETECT,mode;
initgraph(&DETECT,&mode,"");

就可以了。 还可以⽤ detectgraph 函数检测,对应程序如下。

cpp 复制代码
int driver,mode;
detectgraph(&driver,&mode) initgraph(&DETECT,&mode,"");

initgraph( ) 的第三个参数 path 是图形驱动程序的路径,即告诉程序到哪⾥能找到 .BG1 ⽂件。有些 TC 软件将其存放在 TC 安装⽬录下,有些则是在TC 安装⽬录的⼦⽬录 BGI 下,⾃⼰找到 TC 的安装位置看⼀下就知道了。该参数设置为空⽩字符串时,系统⾸先在程序执⾏时的当前⽬录下查找,不存在时再到 C:\TC ⽬录下寻找,如果都找不到,则会显 示如下错误信息。

cpp 复制代码
BGI Error: Graphics not initialized (use 'initgraph')

三、总结

屏幕初始化是开发图形程序的第⼀步。各种参数设置,只要记住测试⽅式,基本上就可以完成所有初始化⼯作。⼤部分的图形驱动测试结果是 VGA,模式是 VGAHI, 16 ⾊,640*480 分辨率。

相关推荐
Dovis(誓平步青云)17 分钟前
《QT学习第四篇:常见事件与UDP、TCP、文件系统、(锁、信号量、条件变量》
c语言·开发语言·汇编·qt
isyangli_blog9 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008119 小时前
FastAPI APIRouter
开发语言·python
Benszen9 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆9 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木9 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
杨充9 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~9 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
basketball61610 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
春生野草10 小时前
反射、Tomcat执行
java·开发语言