3_15.c

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

C
40
字号
/*----------例程3-15 ----------*/
#include <stdio.h>
#include <graphics.h>
void load_pic();

main()
{
   int i,k,graphdriver=VGA,graphmode=VGAHI;
   initgraph(&graphdriver,&graphmode,"");

   /*从文件载入图像*/
   load_pic("pic.dat");
   closegraph();
}

/* 保存屏幕图像*/
void load_pic(char *fname)
{
   FILE *fp;
   int i,k=1;
   long j;
   char far *ptr;
   fp=fopen(fname,"rb");
   for (i=0;i<4; i++)
   {
     outportb(0x3c4, 2); /*选择位面写允许寄存器*/
     outportb(0x3c5, k); /*选择位面号*/
     ptr=(char far*)0xa0000000L;  /*VGA的VRAM指针*/
     for (j=0;j<38400L;j++)       /*读满屏信息字节数*/
     {
       *ptr=fgetc(fp);   /*从文件中将图像信息字节写到VRAM中,即显示出来*/
       ptr++;            /*字节地址加1*/
     }
    k=k*2;
   }
   fclose(fp);
   getch();
   outport(0x3c5,0xf);  /*恢复位面允许写寄存器的缺省值*/
}
/*----------例程3-15结束----------*/

⌨️ 快捷键说明

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