有如下程序
#includ"stdio.h"
#include"graphics.h"
#include"stdio.h"
#include"conio.h"
#include"fcntl.h"
#include"stdlib.h"
int main()
{
int gdriver, gmode,i;
detectgraph(&gdriver, &gmode); /*自动测试硬件*/
printf("the graphics driver is %d, mode is %d\n",
gdriver,gmode); /*输出测试结果*/
getch();
initgraph(&gdriver, &gmode, "c:\\tc");
/* 根据测试结果初始化图形*/
setbkcolor(0); /*设置图形背景*/
cleardevice();
for(i=0; i<=15; i++)
{
setcolor(i); /*设置不同作图色*/
circle(320, 240, 20+i*10); /*画半径不同的圆*/
delay(100); /*延迟100毫秒*/
}
for(i=0; i<=15; i++)
{
setbkcolor(i); /*设置不同背景色*/
cleardevice();
circle(320, 240, 20+i*10);
delay(100);
}
getch();
closegraph();
return 0;
}
运行之后显示:the graphics driver is 9, mode is 2 再按回车屏幕一闪,直接退出TC编译器;
我在网上找了很多种办法,都不见效果;曾做如下尝试:
( 1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3. 在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。)
我的编译器中OPTIONS->LINKER->Libraries->graphics library已经选中了;bgi驱动的目录也没问题;但图形就是不能显示;而且我在TC文件夹下打开cmd命令提示符,运行所生成的可执行文件,结果是屏幕呈现DOS下的那种灰白色彩,但是没有任何文字信息,按alt+Enter后该屏幕被关闭;
我的电脑是XP系统下的;液晶显示器;经过测试有如下信息:
detected graphics drive isVG Amode isVGALO 640*480;
我的屏幕分辨率是1280*1024;屏幕刷新率是60;颜色质量是32位;
由于老师要我们用C设计一个有图形界面的游戏;但我尝试各种方法都不能在屏幕上显示出图形来,所以希望高手来帮帮忙;若有能够在XP下运行的TC,能否发到我的邮箱 9961156@163.com;本人不胜感激;