📄 041.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>王大刚-->C语言编程宝典-->图形函数</TITLE>
<META NAME="keywords" CONTENT="王大刚 C语言编程宝典 图形函数">
<META NAME="description" CONTENT="王大刚 - C语言编程宝典 - 图形函数">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="042.htm">后一页</A><BR>
<A HREF="040.htm">前一页</A><BR>
<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">图形函数</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<BR>
<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。
<BR>
<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>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<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> }
<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); /*输出测试结果*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -