📄 gra.htm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="Author" CONTENT="wdg">
<META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (Win95; I) [Netscape]">
<TITLE>gra</TITLE>
</HEAD>
<BODY>
图形函数
<P> Turbo C提供了非常丰富的图形函数, 所有图形函数的原型均在graphics.
h
<BR>中, 本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图
<BR>形窗口以及图形模式下的文本输出等函数。另外, 使用图形函数时要确保有显示
<BR>器图形驱动程序*BGI, 同时将集成开发环境Options/Linker中的Graphics lib选
<BR>为on, 只有这样才能保证正确使用图形函数。
<BR> 1. 图形模式的初始化
<BR> 不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器,
在不同
<BR>模式下也有不同分辨率。因此, 在屏幕作图之前, 必须根据显示器适配器种类将
<BR>显示器设置成为某种图形模式, 在未设置图形模式之前, 微机系统默认屏幕为文
<BR>本模式(80列, 25行字符模式), 此时所有图形函数均不能工作。设置屏幕为图形
<BR>模式, 可用下列图形初始化函数:
<BR> void far initgraph(int far *gdriver, int far
*gmode, char *path);
<BR> 其中gdriver和gmode分别表示图形驱动器和模式, path是指图形驱动程序所
<BR>在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见表2。
<BR> 图形驱动程序由Turbo C出版商提供, 文件扩展名为.BGI。
根据不同的图形
<BR>适配器有不同的图形驱动程序。例如对于EGA、 VGA 图形适配器就调用驱动程序
<BR>EGAVGA.BGI。
<P>
表2. 图形驱动器、模式的符号常数及数值
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR> 图形驱动器(gdriver)
图形模式(gmode)
<BR> ─────────── ───────────
色调 分辨率
<BR> 符号常数 数值
符号常数 数值
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<BR> CGA
1 CGAC0
0 C0
320*200
<BR>
CGAC1 1
C1 320*200
<BR>
CGAC2 2
C2 320*200
<BR>
CGAC3 3
C3 320*200
<BR>
CGAHI 4
2色 640*200
<BR>───────────────────────────────────
<BR> MCGA
2 MCGAC0
0 C0
320*200
<BR>
MCGAC1 1
C1 320*200
<BR>
MCGAC2 2
C2 320*200
<BR>
MCGAC3 3
C3 320*200
<BR>
MCGAMED 4
2色 640*200
<BR>
MCGAHI 5
2色 640*480
<BR>───────────────────────────────────
<BR> EGA
3 EGALO
0 16色 640*200
<BR>
EGAHI 1
16色 640*350
<BR>───────────────────────────────────
<BR> EGA64
4 EGA64LO
0 16色 640*200
<BR>
EGA64HI 1
4色 640*350
<BR>───────────────────────────────────
<BR> EGAMON 5
EGAMONHI 0
2色 640*350
<BR>───────────────────────────────────
<BR> IBM8514 6
IBM8514LO 0
256色 640*480
<BR>
IBM8514HI 1
256色 1024*768
<BR>───────────────────────────────────
<BR> HERC
7 HERCMONOHI
0 2色 720*348
<BR>───────────────────────────────────
<BR> ATT400 8
ATT400C0 0
C0 320*200
<BR>
ATT400C1 1
C1 320*200
<BR>
ATT400C2 2
C2 320*200
<BR>
ATT400C3 3
C3 320*200
<BR>
ATT400MED 4
2色 320*200
<BR>
ATT400HI 5
2色 320*200
<BR>───────────────────────────────────
<BR> VGA
9 VGALO
0 16色 640*200
<BR>
VGAMED 1
16色 640*350
<BR>
VGAHI 2
16色 640*480
<BR>───────────────────────────────────
<BR> PC3270 10
PC3270HI 0
2色 720*350
<BR>───────────────────────────────────
<BR> DETECT 0
用于硬件测试
<BR>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<P> 例4. 使用图形初始化函数设置VGA高分辨率图形模式
<BR> #include <graphics.h>
<BR> int main()
<BR> {
<BR> int gdriver,
gmode;
<BR> gdriver=VGA;
<BR> gmode=VGAHI;
<BR> initgraph(&gdriver,
&gmode, "c:\\tc");
<BR> bar3d(100, 100,
300, 250, 50, 1); /*画一长方体*/
<BR> getch();
<BR> closegraph();
<BR> return 0;
<BR> }
<P> 有时编程者并不知道所用的图形显示器适配器种类, 或者需要将编写的程序
<BR>用于不同图形驱动器, Turbo C提供了一个自动检测显示器硬件的函数,
其调用
<BR>格式为:
<BR> void far detectgraph(int *gdriver, *gmode);
<BR> 其中gdriver和gmode的意义与上面相同。
<BR>
<BR> 例5. 自动进行硬件测试后进行图形初始化
<BR> #include <graphics.h>
<BR> int main()
<BR> {
<BR> int gdriver,
gmode;
<BR> detectgraph(&gdriver,
&gmode); /*自动测试硬件*/
<BR> printf("the
graphics driver is %d, mode is %d\n", gdriver,
<BR>
gmode); /*输出测试结果*/
<BR> getch();
<BR> initgraph(&gdriver,
&gmode, "c:\\tc");
<BR>
/* 根据测试结果初始化图形*/
<BR> bar3d(10, 10,
130, 250, 20, 1);
<BR> getch();
<BR> closegraph();
<BR> return 0;
<BR> }
<P> 上例程序中先对图形显示器自动检测, 然后再用图形初始化函数进行初始化
<BR>设置, 但Turbo C提供了一种更简单的方法, 即用gdriver= DETECT 语句后再跟
<BR>initgraph()函数就行了。采用这种方法后, 上例可改为:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -