int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; char msg[80];
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { PRintf("Graphics error: %s/n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ }
/* move to the screen center point */ moveto(getmaxx() / 2, getmaxy() / 2);
/* create a message string */ sprintf(msg, "<-(%d, %d) is the here.", getx(), gety());
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int maxx, maxy;
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "c://bor//Borland//bgi");
/* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s/n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ }
maxx = getmaxx(); maxy = getmaxy();
/* output line with non-default settings */ setlinestyle(DOTTED_LINE, 0, 3); line(0, 0, maxx, maxy); outtextxy(maxx/2, maxy/3, "Before default values are restored."); getch();
/* restore default values for everything */ graphdefaults();
/* clear the screen */ cleardevice();
/* output line with default settings */ line(0, 0, maxx, maxy); outtextxy(maxx/2, maxy/3, "After restoring default values.");
/* read result of initialization */ errorcode = graphresult();
/* if an error occurred, then output a */ /* descriptive error message. */ if (errorcode != grOk) { printf("Graphics error: %s/n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ }
/* draw a line */ line(0, 0, getmaxx(), getmaxy());
/* clean up */ getch(); closegraph(); return 0; }
函数名: graphresult 功 能: 返回最后一次不成功的图形操作的错误代码 用 法: int far graphresult(void); 程序例:
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode;
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s/n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ }
/* draw a line */ line(0, 0, getmaxx(), getmaxy());
/* clean up */ getch(); closegraph(); return 0; }
函数名: _graphfreemem 功 能: 用户可修改的图形存储区释放函数 用 法: void far _graphfreemem(void far *ptr, unsigned size); 程序例:
int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy;
/* clear the text screen */ clrscr(); printf("Press any key to initialize graphics mode:"); getch(); clrscr();
/* initialize graphics and local variables */ initgraph(&gdriver, &gmode, "");
/* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s/n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ }
midx = getmaxx() / 2; midy = getmaxy() / 2;
/* display a message */ settextjustify(CENTER_TEXT, CENTER_TEXT); outtextxy(midx, midy, "Press any key to exit graphics mode:");
/* clean up */ getch(); closegraph(); return 0; }
/* called by the graphics kernel to allocate memory */ void far * far _graphgetmem(unsigned size) { printf("_graphgetmem called to allocate %d bytes./n", size); printf("hit any key:"); getch(); printf("/n");
/* allocate memory from far heap */ return farmalloc(size); }
/* called by the graphics kernel to free memory */ void far _graphfreemem(void far *ptr, unsigned size) { printf("_graphfreemem called to free %d bytes./n", size); printf("hit any key:"); getch(); printf("/n");