C语言图形编程【2】:图形显示

本文详细介绍了在C语言中进行图形编程的步骤,包括确定显示卡、选择显示模式以及图形显示的相关函数。文章重点讲解了detectgraph()、initgraph()、getdrivername()等关键函数的用法,帮助开发者了解如何初始化图形系统、设置图形模式以及进行图形显示操作。
摘要由CSDN通过智能技术生成

一、确定显示卡
二、选择显示模式   
三、图形显示
    20. detectgraph() 显示卡检测函数
    21. initgraph() 图形初始化函数
    22. getdrivername() 获取图形驱动程序名的指针
    23. getgraphmode() 获取图形模式函数
    24. getmoderange()获取模式值范围函数
    25. getmaxmode()获取最大显示模式函数
    26. getmodename()获取显示模式名函数
    27. graphdefaults()图形设置复位缺省值函数
    28. setgraphmode() 设置图形模式函数
    29. restorecrtmode() 恢复文本显示模式函数
    30. graphresult() 图形操作结果函数
    31. grpaherrormsg() 图形错误信息函数
    32. setgraphbufsize()设置图形缓冲区大小函数
    33. setactivepage() 设置可输出显示页函数
    34. setvisualpage() 设置可见显示页数
    35. closegraph()关闭图形模式函数
    




一、确定显示卡
   微机系统显示部分由 显示器(monitor)和显示卡(adapter)两部分组成。显示器是独立于主机的一种外部设备,显示卡或称显示适配卡,也有的称图形卡,是插在主机 上的一块电路板。但也有的显示卡与主机板设计在一起。显示卡包括寄存器组、存储器和控制电路三大部分。其中存储器又包括显示RAM和ROM BIOS两部分,微机对显示屏幕的所有操作都是通过显示卡来实现的。因此要进行图形显示 ,首先要确定计算机上安装的是何种显示卡。一种方法是询问计算机或终端使用者,确定将要使用的显示卡类型。这种方法很难,因为甚至专业程序员也不总是能确 定他正在使用什么样的硬件。另一种方法是用软件查询硬件以识别当前的配置。如果有一些识别硬件的标准,这就很简单了。在Borland C中对现在所使用的各种显示卡提供了支持,这只要调用detectgraph()函数就可以了,该函数为程序员确定计算机上使用的显示卡类型。

二、 选择显示模式
   显示模式是指显示卡支持的分辨率与相应的颜色配置。每台计算机都配置了某种类型显示卡,可以为该显示卡指定显示模式。

三、 图形显示
    进行图形显示首先要确定显示卡,然后选择其显示模式。这些工作都可以调用图形功能函数来完成,其实就是把适合于显示卡的图形驱动 程序装入内存。如果图形驱动程序未装入内存,那么图形函数就不能操作。

20. detectgraph() 显示卡检测函数
功 能: 函数detectgraph()在计算机上安装有显示卡的情况下,测定其显示卡的类型。
用法: 此函数调用方式为void detectgraph(int *driver,int *mode);
说明: 函数把driver所指向的整型变量设置为图形驱动程序的代码,把mode所指向的整型变量设置为显示卡支持的最高有效模式(即该显示卡能支持的最高分辨 率)。
   该函数相应的头文件为graphics.h
返回值: 返回适合于该显示卡的图形驱动程序的代码(也称等价值),并存放在driver指向的变量中。若计算机系统中无图形硬件,则由driver指向的变量设置 为-2。
例: 检测计算机是否装有显示卡:
   int driver,mode;
   detectgraph(&driver,&mode);
   if(driver==-2)
   {
      printf("no graphics adapter in the computer");
      exit(1);
   }

21. initgraph() 图形初始化函数
功能: 函数initgraph()用于初始化图形系统,把适合的图形驱动程序装入内存,设置图形函数所用的显示模式。
用法: 该函数调用方式为void initgraph(int *driver,int *mode,char *path);
说明: 1) 函数中参数driver指向图形驱动程序(或者等价值)。
   在头部文件graphics.h中定义了图形驱动程序的宏名与其等价 ,如下:
宏   名              等 价值
------------------------------
DETECT                  0
CGA                     1
MCGA                    2
EGA                     3
EGA64    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值