c语言中有关graphics.h中库函数的问题,在线等待,请高手指点!!

sami0704 2002-10-22 08:10:57
我用c实现图形学中生成直线的算法,代码如下:
#include "graphics.h"
#include "stdio.h"
#include "stdlib.h"

main(){
int x0,y0,x1,y1,color,x,y,delta1,delta2,d,a,b;
void midpointline(int x0,int y0,int x1,int y1,int color);
int gdrive=DETECT,gmode;
initgraph(&gdrive,&gmode,"");
setbkcolor(BLUE);
printf("Please input the two point of the line:\n");
scanf("%d,%d,%d,%d",&x0,&y0,&x1,&y1);
printf("Please input color of the line:");
scanf("%d",&color);
cleardevice();
a=y0-y1;
b=x1-x0;
d=2*a+b;
delta1=2*a;
delta2=2*(a+b);
x=x0;
y=y0;
putpixel(x,y,color);
while(x<x1)
{
if(d<0)
{ x++;
y++;
d+=delta2;
}
else
{x++;
d+=delta1;
}
putpixel(x,y,color);
}
getchar();
closegraph();
return;
}
--------------------------------------
编译通过,执行时能输入数据,但图形(即一条直线)没显示,本程序算法应该没问题,是不是调用库函数出错了,请各位高手指教!!
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffwin 2002-10-23
  • 打赏
  • 举报
回复
如果不想加路径,可以在initgraph前加一句,好象是registerbdidriver(EGAVGA_driver),(查一下书,关于函数名称与参数,好久没有用C了.记不太准了)
「已注销」 2002-10-23
  • 打赏
  • 举报
回复
initgraph(&gdrive,&gmode,"");
如果是这样子,请把:BC\BGI\*.bgi拷贝到你程序的目录里,
要么你在这句中加入路径:initgraph(&gdrive,&gmode,"C:\\bc\\BGI");
如果还不行,那你只有查看算法有没有出错了.
这三点保证你能正常解决.
detrox 2002-10-23
  • 打赏
  • 举报
回复
把\bc\bgi\egavga.bgi copy 的你程序所在的目录里
huaxintong 2002-10-22
  • 打赏
  • 举报
回复
initgraph(&gdrive,&gmode,"");初始化这里不对,“”里面应该有路径的,是你BC文件里的BGI文件,譬如你的BC放在C盘,就应该是“C://BC//BGI”

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧