3_14.c

来自「浙大《C语言设计基础课程设计》中的例程 有些比较好的代码!」· C语言 代码 · 共 46 行

C
46
字号
/*----------例程3-14 ----------*/
#include <stdio.h>
#include <graphics.h>
void save_pic();

main()
{
   int i,k,graphdriver=VGA,graphmode=VGAHI;
   initgraph(&graphdriver,&graphmode,"");
  
   for (i=0;i<32; i++)
   {
      setcolor(i+1);
      circle(320,240,(i+1)*15);  /*画充满屏幕的圆*/
      k=i*10;
      rectangle(320-k,240-k,320+k,240+k);/*画充满屏幕的长方形*/
   }
   /*保存所绘图形形成的屏幕图像*/
   save_pic("pic.dat");
   getch();
   closegraph();
}

/* 保存屏幕图像*/
void save_pic(char *fname)
{  
   FILE *fp;
   int i;
   long j;
   char far *ptr;
   fp=fopen(fname,"wb");
   for (i=0;i<4; i++)
   {
     outportb(0x3ce, 4); /*选择读位面选择寄存器*/
     outportb(0x3cf, i); /*允许位面i可读*/
     ptr=(char far*)0xa0000000L;  /*VGA的VRAM指针*/
     for (j=0;j<38400L;j++)
     {
       fputc(*ptr, fp);
       ptr++;
     }
   }
   fclose(fp);
   outport(0x3cf,0);
}
/*----------例程3-14结束----------*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?