该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
———————————————————————————————————
HERC 7 HERCMONOHI 0 2色 720*348
———————————————————————————————————
ATT400 8 ATT400C0 0 C0 320*200
ATT400C1 1 C1 320*200
ATT400C2 2 C2 320*200
ATT400C3 3 C3 320*200
ATT400MED 4 2色 320*200
ATT400HI 5 2色 320*200
———————————————————————————————————
VGA 9 VGALO 0 16色 640*200
VGAMED 1 16色 640*350
VGAHI 2 16色 640*480
———————————————————————————————————
PC3270 10 PC3270HI 0 2色 720*350
———————————————————————————————————
DETECT 0 用于硬件测试
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
例4. 使用图形初始化函数设置VGA高分辨率图形模式
#include
int main()
{
int gdriver, gmode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver, &gmode, "c:\\tc");
bar3d(100, 100, 300, 250, 50, 1); /*画一长方体*/
getch();
closegraph();
return 0;
}
有时编程者并不知道所用的图形显示器适配器种类, 或者需要将编写的程序
用于不同图形驱动器, Turbo C提供了一个自动检测显示器硬件的函数, 其调用
格式为:
void far detectgraph(int *gdriver, *gmode);
其中gdriver和gmode的意义与上面相同。
例5. 自动进行硬件测试后进行图形初始化
#include
int main()
{
int gdriver, gmode;
detectgraph(&gdriver, &gmode); /*自动测试硬件*/
printf("the graphics driver is %d, mode is %d\n", gdriver,
gmode); /*输出测试结果*/
getch();
initgraph(&gdriver, &gmode, "c:\\tc");
/* 根据测试结果初始化图形*/
bar3d(10, 10, 130, 250, 20, 1);
getch();
closegraph();
return 0;
}
上例程序中先对图形显示器自动检测, 然后再用图形初始化函数进行初始化
设置, 但Turbo C提供了一种更简单的方法, 即用gdriver= DETECT 语句后再跟
initgraph()函数就行了。采用这种方法后, 上例可改为:
例6.
#include
int main()
{
int gdriver=DETECT, gmode;
initgraph(&gdriver, &gmode, "c:\\tc");
bar3d(50, 50, 150, 30, 1);
getch();
closegraph();
return 0;
}
另外, Turbo C提供了退出图形状态的函数closegraph(), 其调用格式为:
void far closegraph(void);