计算机微刊计算机杂谈

2020-04-14 C作图与图形处理

2020-04-14  本文已影响0人  owlister

古老的编译器,Turbo C

具有丰富的作图功能。

显示器有两种工作方式:

文本方式和图形方式(作图方式)

文本方式是默认的工作方式,用来显示文字,以字符为单位。

图形方式用来显示图形,以像素为单位(1 像素即为屏幕上的一个点)。

两种方式可以互相转换。

编写作图程序前,通常都要把屏幕设置为图形方式,在作图程序结束时 都要把显示器恢复成原来的显示方式即文本方式。

如何将屏幕设置为图形方式?

Answer:初始化 图形系统

“对显示适配器(显卡)进行初始化”,使之工作在图形方式。

可以使用在头文件  graphics.h中定义的一个初始化函数。

函数原型为:

void initgraph(int *gdriver,int *gmode,chics.har *driver_path).

头文件graphics.h包含了所有绘图函数的定义以及相关的数据结构和常量。

initgraph( )函数的前两个参数是整型指针变量,它们分别对应显示适配器的 类型 和显示方式,第三个参数用来指明  显示驱动程序  所存储的路径。

类型

目前绝大多数显示适配器的类型都是 VGA

VGA(Video Graphics Array)线,包括VGA接口与连接的电缆,但通常指VGA接口,也叫D-Sub接口。VGA接口是显卡上输出模拟信号的接口,虽然液晶显示器可以直接接收数字信号,但很多低端产品为了与VGA接口显卡相匹配,因而采用VGA接口。VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。

显示方式

so,VGA支持的模式和分辨率(两者包含于显示方式)如下图所示:

显示驱动程序所存储的路径

指向驱动程 序的路径名可以是全路径名,也可以是空字符串。若是空字符串则表示驱动程序就 在当前目录下。

对于VGA,在Turbo C中的驱动程序是EGAVGA.BGI.

驱动程序一般指的是设备驱动程序(Device Driver),是一种可以使计算机和设备进行相互通信的特殊程序。相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。因此,驱动程序被比作“ 硬件的灵魂”、“硬件的主宰”、“硬件和系统之间的桥梁”等。

对显示适配器进行初始化  源代码

int gdriver,gmode;

gdriver=VGA;

gmode=VGAHI;

initgraph(&gdriver,&gmode,"");

也可以:

int gdriver,gmode;

gdriver=DETECT;      //设置为自检模式

initgraph(&gdriver,&gmode,"");

gdriver=DETECT;的作用是让系统自动检测显示适配器的类型,并将其分辨率置为最高。


作图之后可以使用函数closegraph()关闭作图方式以便使显示器恢复成文本方式.

在作图程序中,initgraph()和closegraph()两个函数总是成对出现的。

还有一个函数 restorecrtmode()也可以使显示方式变回文本方式,与 closegraph()不同 的是,它并不释放内存中的显示驱动程序和字符集,仅仅是暂时回到文本方式,随时可用 setgraphmode()函数重新回到作图方式;而 closegraph()则是释放驱动程序和字符集,需要作图时必 须重新用 initgraph()函数载入

函数原型是: 

void far restorecrtmode( ); 

void far setgraphmode(int mode); // mode: 一般取 VGAHI 

后者在转回作图方式的同时还具有清屏功能。

顺便介绍一下清屏函数,其原型是: void far cleardevice( );

                                                                                                     学术著作原文出自清华大学王金鹏

上一篇 下一篇

猜你喜欢

热点阅读