函数名: setvisualpage 功 能: 设置可见图形页号 用 法: void far setvisualpage(int pagenum). 程序例: #include #include #include #include int main(void) { /* 0select a driver and mode that supports */ /* multiple pages. */ int gdriver = EGA, gmode = EGAHI, errorcode. int x, y, ht. /* 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 */ } x = getmaxx() / 2. y = getmaxy() / 2. ht = textheight("W"). /* 0select the off screen page for drawing */ setactivepage(1). /* draw a line on page #1 */ line(0, 0, getmaxx(), getmaxy()). /* output a message on page #1 */ settextjustify(CENTER_TEXT, CENTER_TEXT). outtextxy(x, y, "This is page #1:"). outtextxy(x, y ht, "Press any key to halt:"). /* 0select drawing to page #0 */ setactivepage(0). /* output a message on page #0 */ outtextxy(x, y, "This is page #0."). outtextxy(x, y ht, "Press any key to view page #1:"). getch(). /* 0select page #1 as the visible page */ setvisualpage(1). /* clean up */ getch(). closegraph(). return 0. }
函数名: setwritemode 功 能: 设置图形方式下画线的输出模式 用 法: void far setwritemode(int mode). 程序例: #include #include #include #include int main() { /* request auto detection */ int gdriver = DETECT, gmode, errorcode. int xmax, ymax. /* 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 */ } xmax = getmaxx(). ymax = getmaxy(). /* 0select XOR drawing mode */ setwritemode(XOR_PUT). /* draw a line */ line(0, 0, xmax, ymax). getch(). /* erase the line by drawing over it */ line(0, 0, xmax, ymax). getch(). /* 0select overwrite drawing mode */ setwritemode(COPY_PUT). /* draw a line */ line(0, 0, xmax, ymax). /* clean up */ getch(). closegraph(). return 0. }