首頁 > 文章中心 > 正文

      靜態(tài)圖像直接顯示

      前言:本站為你精心整理了靜態(tài)圖像直接顯示范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。

      靜態(tài)圖像直接顯示

      在很多游戲中,有大量的圖像文件,一般只能在游戲過程中看到,有的還需過關(guān)斬將才能看到,而且不易看到全部圖像。在金山漢字系統(tǒng)中,雖然有一配套的圖文編輯系統(tǒng)SuperStar(SPT),它產(chǎn)生的圖形文件也只能在該系統(tǒng)中才能看到。因此,筆者用C語言編了一段程序,可以使讀者在西文DOS下直接看到圖像。

      該程序可被編譯成EXE文件,在西文狀態(tài)下運(yùn)行。運(yùn)行時(shí)選擇文件類型并輸入文件名,即可在任何顯示器上看到向慕已久的畫面。但不同的顯示器效果有明顯的差異。

      本程序所調(diào)用的圖像文件分為兩類,一是指適于在中低分辨率顯示器上顯示的單幅靜態(tài)圖片、寫真,它成批存在于游戲或演示程序中,文件名是排序的,本文稱為HTX類;二是在SPT系統(tǒng)中以非壓縮形式存盤的文件,通稱SPT類。

      在某些漢字系統(tǒng)下也可以運(yùn)行本程序,如WMDOS6.0、UCDOS3.1、SPDOS6.0F均可顯示。

      程序用TurboC2.0編譯,在HERC(大力神)單顯上運(yùn)行成功。值得注意的是,運(yùn)行時(shí),當(dāng)前目錄下需有相應(yīng)的圖形驅(qū)動(dòng)文件(BGI文件)。

      #include<dos.h>

      #include<stdio.h>

      #include<malloc.h>

      #include<graphics.h>

      main()

      {

      FILE*fp;

      voidfar*htxwj;

      intgd=DETECT,gm,x=0,y=0,q=15,b=0,fx;

      longsize;

      charfile[80];

      printf("1.HTX2.SPT:");scanf("%d",&fx);

      printf("Filename:");scanf("%s",&file);

      if(fx==2){putspt(file,x,y,q,b);closegraph();exit(0)

      ;}

      if(fx==1)gotoxshtx;

      getch();exit(0);

      xshtx:

      initgraph(&gd,&gm,"");

      size=imagesize(0,0,500,300);

      htwxj=malloc(size);

      getimage(0,0,500,300,htxwj);

      fp=fopen(file,"rb+");

      fread(htxwj,1,size,fp);

      putimage(y,x,htxwj,0);

      getch();

      free(htxwj);

      fclose(fp);

      closegraph();

      }

      putspt(char*sptf,intx1,inty1,intqj,intbj)

      unsignedchardot;

      FILE*fp;

      intgd=DETECT,gm;

      inth,w;

      inti,j,k,p,x,y;

      initgraph(&gd,&gm,"");

      if((fp=fopen(sptf,"rb"))==NULL)return(1);

      fseek(fp,34L,SEEK-SET);

      fread(&w,2,1,fp);

      fseek(fp,36L,SEEK-SET);

      fread(&h,2,1,fp);

      if(fseek(fp,64L,SEEK-SET))return(1);

      for(i=0;i<h;i++)

      {

      if(i>h)gotoextt;

      y=y1+i;

      for(j=0;j<w/8;j++)

      {

      x=x1+8*j;

      dot=fgetc(fp);

      p=0x80;

      if(x==(w-15))gotocon;

      for(k=0;k<8;k++)

      {

      if(dot&p)

      {

      putpixel(x+k,y,qj);

      }

      else

      {

      putpixel(x+k,y,bj);

      }

      p>>=1;

      }

      }con∶;

      }

      extt:

      fclose(fp);

      return(0);

      亚洲av色福利天堂| 亚洲第一福利网站在线观看| 亚洲午夜激情视频| 亚洲国产精品一区二区第一页免 | 亚洲av无码片在线播放| 亚洲精品无码不卡在线播HE| 国产亚洲成归v人片在线观看 | 亚洲成a人片77777群色| 亚洲精品一区二区三区四区乱码| 亚洲国产女人aaa毛片在线| 亚洲欧洲日韩不卡| 亚洲视频欧洲视频| 亚洲精品午夜在线观看| 亚洲国产精品成人综合色在线婷婷 | 在线亚洲高清揄拍自拍一品区| 亚洲深深色噜噜狠狠网站| 国产亚洲福利在线视频| 亚洲欧美第一成人网站7777| 亚洲精品国产高清在线观看| 亚洲国产aⅴ成人精品无吗| 久久精品国产亚洲AV| 亚洲精品视频免费观看| 中文字幕不卡亚洲| 亚洲成AV人片在线观看ww| 亚洲AV日韩AV永久无码久久| 亚洲日本中文字幕| 亚洲国产精品综合久久2007| 亚洲日本久久久午夜精品| 亚洲国产欧美日韩精品一区二区三区| 亚洲AV无码XXX麻豆艾秋| 亚洲AV成人精品日韩一区18p| 亚洲人成色77777在线观看大| 在线观看午夜亚洲一区| 久久青青草原亚洲AV无码麻豆| 久久水蜜桃亚洲av无码精品麻豆| 亚洲日本香蕉视频观看视频| 亚洲www77777| 亚洲成A人片在线观看中文| 在线观看午夜亚洲一区| 亚洲人成依人成综合网| 亚洲jjzzjjzz在线播放|