1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

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

        時(shí)間:2024-10-27 18:12:02 計(jì)算機(jī)畢業(yè)論文 我要投稿
        • 相關(guān)推薦

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

        在很多游戲中,有大量的圖像文件,一般只能在游戲過(guò)程中看到,有的還需過(guò)關(guān)斬將才能看到,而且不易看到全部圖像。在金山漢字系統(tǒng)中,雖然有一配套的圖文編輯系統(tǒng)SuperStar(SPT),它產(chǎn)生的圖形文件也只能在該系統(tǒng)中才能看到。因此,筆者用C語(yǔ)言編了一段程序,可以使讀者在西文DOS下直接看到圖像。
        該程序可被編譯成EXE文件,在西文狀態(tài)下運(yùn)行。運(yùn)行時(shí)選擇文件類型并輸入文件名,即可在任何顯示器上看到向慕已久的畫(huà)面。但不同的顯示器效果有明顯的差異。
        本程序所調(diào)用的圖像文件分為兩類,一是指適于在中低分辨率顯示器上顯示的單幅靜態(tài)圖片、寫(xiě)真,它成批存在于游戲或演示程序中,文件名是排序的,本文稱為HTX類;二是在SPT系統(tǒng)中以非壓縮形式存盤(pán)的文件,通稱SPT類。
        在某些漢字系統(tǒng)下也可以運(yùn)行本程序,如WMDOS 6.0、UCDOS 3.1、SPDOS 6.0F均可顯示。
        程序用Turbo C 2.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;
        void far *htxwj;
        int gd=DETECT, gm, x=0, y=0, q=15, b=0, fx;
        long size;
        char file[80];
        printf("1.HTX 2.SPT:"); scanf ("%d", &fx);
        printf("File name:"); scanf ("%s", &file);
        if(fx==2){putspt (file, x, y, q, b);closegraph();exit(0)
        ;}
        if(fx==1) goto xshtx;
        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, int x1, int y1, int qj, int bj)
        {
        unsigned char dot;
        FILE *fp;
        int gd=DETECT, gm;
        int h, w;
        int i, 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)goto extt;
        y=y1+i;
        for(j=0; j<w/8; j++)
        {
        x=x1+8*j;
        dot=fgetc(fp);
        p=0x80;
        if(x==(w-15))goto con;
        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);
        }
         

        作者:胡穎卓 

        【靜態(tài)圖像的直接顯示】相關(guān)文章:

        利用DVI實(shí)現(xiàn)雙屏幕超寬圖像顯示03-18

        DOS真彩色模式下真彩色圖像顯示技術(shù)03-03

        VGA顯示與TV顯示的區(qū)別及轉(zhuǎn)換03-19

        圖像時(shí)代的文學(xué)03-08

        氣柜直接置換-03-20

        圖像拼接算法及實(shí)現(xiàn)03-03

        圖像的小波降噪03-07

        基于PCI圖像卡的圖像實(shí)時(shí)處理系統(tǒng)開(kāi)發(fā)03-07

        論靜態(tài)成員在C++中的應(yīng)用11-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>