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

一、问题

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

二、解答

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

void far initgraph(int far * gdriver, int far *gmode,char *path);

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

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。例如:

int driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");

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

        程序写成:

int driver=DETECT,mode;
initgraph(&DETECT,&mode,"");

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

int driver,mode;
detectgraph(&driver,&mode) initgraph(&DETECT,&mode,"");

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

BGI Error: Graphics not initialized (use 'initgraph')

三、总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ACM算法学习路线、清单

入门 模拟、暴力、贪心、高精度、排序 图论 搜索 BFS、DFS、IDDFS、IDA*、A*、双向BFS、记忆化 最短路 SPFA、bellman-fort(队列优化)、Dijkstra(堆优化)、Johnson、Floyd、差分约束、第k短路 树 树的重心和直径、dfs序、树链刨分与动态树、LCA、Prufer编码及Cayley定理…

对象存储OSS 客户端签名直传的安全风险和解决方法

1. 前言 阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面…

mysql批量修改列备注

--把表名,字段名,备注导入到这个表里,表明和字段名一定要一致!!! CREATE TABLE supplement_clumn_comment ( table varchar(200) DEFAULT NULL COMMENT 表名, columns varchar(200) DEFAULT NULL COMME…

11.链表

数组的分类:便于遍历 静态数组:int arr[10]数据过多造成空间溢出,数据过小空间浪费 动态数组:malloc calloc realloc 合理利用空间不能快捷的插入或删除数据(会涉及到大量的数据移动) 知识点一&#xff1…

玉米粒计数检测数据集VOC+YOLO格式107张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):107 标注数量(xml文件个数):107 标注数量(txt文件个数):107 标注类别…

如何快速入门Element-UI:打造高效美观的前端界面

Element-UI 是一款基于 Vue.js 的开源组件库,提供了丰富的 UI 组件,可以帮助开发者快速构建美观、响应式的前端界面。本文将详细介绍如何快速入门 Element-UI,包括环境搭建、组件使用、样式定制及常见问题解决方法,帮助你高效地使用 Element-UI 进行前端开发。 一、环境搭…

Spring (48)Feign

Feign是一个声明式的Web服务客户端,它让编写Web服务客户端变得更加容易。它的目标是通过简化HTTP API客户端的编码工作来减少开发人员的负担。使用Feign可以创建一个接口,并在接口上声明方法与远程服务上的一个HTTP资源相绑定。Spring Cloud整合了Feign&…

ABC351

C 栈的应用 #include<bits/stdc.h>using namespace std;stack<int>stk;int main() {int n;cin>>n;for(int i1;i<n;i){int a;cin>>a;while(!stk.empty()&&astk.top()){stk.pop();a;}stk.push(a);}cout<<stk.size()<<endl;retur…

java面试题: HashMap、HashSet 和 HashTable 的区别

HashMap 常用方法 HashMap 是一个基于哈希表的 Map 接口的实现。它允许使用 null 值和 null 键。 java 复制 // 创建一个HashMap HashMap<KeyType, ValueType> map new HashMap<>(); // 添加元素 map.put(key, value); // 获取元素 ValueType value map.get…

二分#背包#快排#LCS详解

二分#背包#快排#LCS详解 文章目录 二分#背包#快排#LCS详解1. 二分搜索2. 01背包问题3. 快速排序4. 最长公共子序列 1. 二分搜索 在处理大规模数据集时&#xff0c;查找操作的效率显得尤为重要。二分搜索是一种在有序数组中查找目标值的高效算法&#xff0c;其时间复杂度为O(lo…

集群与分片:深入理解及应用实践

目录 引言什么是集群&#xff1f; 集群的定义集群的类型 什么是分片&#xff1f; 分片的定义分片的类型 集群与分片的关系集群的应用场景 负载均衡高可用性 分片的应用场景 大数据处理数据库分片 集群与分片的架构设计 系统架构设计数据存储设计 案例分析 Hadoop 集群Elastics…

【python报错】关于 xlrd.biffh.XLRDError: Excel xlsx file; not supported 解决方法【已解决】

【Python报错】关于xlrd.biffh.XLRDError: Excel xlsx file; not supported解决方法【已解决】 在使用Python进行数据分析时&#xff0c;经常需要处理Excel文件。xlrd库是一个流行的用于读取Excel文件的库&#xff0c;但如果你在使用xlrd打开.xlsx文件时遇到了xlrd.biffh.XLRDE…

区块链(Blockchain)调查研究(一)

文章目录 1. 区块链是什么&#xff1f;2. 区块链分类和特点3. 区块链核心关键技术3.1 共识机制3.2 密码学技术3.4 分布式存储3.5 智能合约 4. 区块链未来发展趋势5. 区块链能做什么、不能做什么&#xff1f;5.1 第一部分5.2 第二部分5.3 第三部分&#xff08;结论&#xff09; …

新书推荐:2.3 消息机制

Windows程序的消息机制是指在Windows操作系统下&#xff0c;应用程序与操作系统之间的一种通信方式。通过消息机制&#xff0c;应用程序可以接收来自操作系统的各种事件和请求&#xff0c;以便做出相应的响应和处理。 在Windows程序中&#xff0c;消息机制的实现是基于消息队列…

用 Axios 封装一个双 token 无感刷新

为什么要用双Token无感刷新&#xff0c;它解决了什么问题&#xff1f; 为了保证安全性&#xff0c;后端设置的Token不可能长期有效&#xff0c;过了一段时间Token就会失效。而发送网络请求的过程又是需要携带Token的&#xff0c;一旦Token失效&#xff0c;用户就要重新登陆&…

前台怎么调用Oracle proc过程

前台调用Oracle PROC过程通常涉及几种不同的方法&#xff0c;具体取决于你的前台应用程序所使用的技术和框架。以下是一些常见的方法&#xff0c;以及如何在前台调用Oracle PROC过程的详细步骤&#xff1a; 1. 使用PL/SQL Developer或其他SQL工具 直接调用&#xff1a;在PL/S…

将操作与数据分离 - 面向数据编程 v1.1

面向数据编程 (DOP) 非常注重数据&#xff0c;此次讨论的原则涉及实现大多数域逻辑的方法&#xff0c;它建议将操作与数据分开。 1.示例场景 此次讨论面向数据编程 v1.1的将操作与数据分离原则的具体示例是以销售平台作为示例&#xff0c;该平台销售书籍、家具和电子设备&…

欢乐打地鼠小游戏html源码

这是一款简单的js欢乐打地鼠游戏&#xff0c;挺好玩的&#xff0c;老鼠出来用鼠标点击锤它&#xff0c;击中老鼠获得一积分。 欢乐打地鼠小游戏html源码

kopf,一个实用的 Python 库!

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个实用的 Python 库 - kopf。 Github地址&#xff1a;https://github.com/nolar/kopf 在 Kubernetes 中&#xff0c;Operator 是一种用于扩展 Kubernetes 功能的强大工具。Operator 可以自动化应…

MySQL之查询性能优化(十三)

查询性能优化 优化LIMIT分页 在系统中需要进行分页操作的时候&#xff0c;我们通常会使用LIMIT加上偏移量的办法实现&#xff0c;同时加上合适的ORDER BY子句。如果有对应的索引&#xff0c;通常效率会不错&#xff0c;否则&#xff0c;MySQL需要做大量的文件排序操作。一个非…