久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. Turbo C在圖形狀態(tài)下快速顯示彩色漢字的方法

      時間:2022-06-28 14:07:10 圖形圖像/多媒體 我要投稿
      • 相關(guān)推薦

      關(guān)于Turbo C在圖形狀態(tài)下快速顯示彩色漢字的方法

        在用Turbo C提供的圖形函數(shù)進行作圖時,為了使屏幕顯示更加直觀明了,常常需要在圖形顯示的同時,顯示必要的漢字說明,Turbo C在圖形狀態(tài)下快速顯示彩色漢字的方法。這時Turbo C提供的一些函數(shù)就不能用了。

        在漢字操作系統(tǒng)中,有一個16×16點陣的漢字庫,主要用于屏幕顯示。字庫中的漢字按16×16點陣模式存儲,即每個漢字相當(dāng)于16×16=256個點組成。占用16×2=32個連續(xù)的字節(jié)單元。字節(jié)的每一位(bit)表示一個點的屬性:1表示亮點,0表示暗點。連續(xù)的兩個字節(jié)表示該漢字字模的一行。32個字節(jié)的排列順序如圖:

        @@T5S08100.GIF;圖1@@

        計算機對西文字符采用一個字節(jié)表示,我國規(guī)定漢字用內(nèi)碼(2個字節(jié))表示。為了保證中西文兼容,也就是說,漢字系統(tǒng)的內(nèi)碼必須同時允許ASCII碼和漢字的同時使用,而兩者之間不能發(fā)生沖突。目前規(guī)定每個字節(jié)只用七位,若兩個字節(jié)的最高位均為1,則該字符為漢字。

        國標(biāo)對漢字庫的結(jié)構(gòu)作了統(tǒng)一的規(guī)定:即將漢字庫分為若干個區(qū),每個區(qū)有94個漢字。

        每一個漢字在字庫中有一個固定的區(qū)和位,即每一個漢字有一個區(qū)位碼。知道了區(qū)位碼也就相當(dāng)于知道了漢字在字庫中的位置。由于漢字的內(nèi)碼與區(qū)位碼有一定的關(guān)系,所以,只要通過內(nèi)碼就可以得到區(qū)位碼,從而也就得到了漢字的字模。

        設(shè)一個漢字的內(nèi)碼為ddff,則此漢字的區(qū)碼為dd-161;位碼為ff-161;該漢字字模的第一個字節(jié)在字庫中的位置是(94×區(qū)碼 位碼)×32。這時只要連續(xù)的讀出32個字節(jié),就可以得到該漢字的字模。

        有些文章和書籍采用寫點的方式來處理這32個字節(jié)。即某位為1,則寫點,某位為0,則不寫點。如果這樣處理,則每個漢字需循環(huán)256次,寫256個點,字?jǐn)?shù)越多,則會顯得很慢。

        Turbo C提供了這樣兩個函數(shù):

        setlinestyle(int linestyle,unsignedupattern,int thickness);

        line(int x0,int y0,int x1,int y1);

        setlinestyle函數(shù)為設(shè)置線型函數(shù),當(dāng)linestyle取USERBIT-LINE且thickness取NORM-WIDTH時,其后的line函數(shù)就會按upattern的16位二進制數(shù)畫一點寬的線,計算機論文《Turbo C在圖形狀態(tài)下快速顯示彩色漢字的方法》。upattern的每一位代表一個象元,如果那位為1,則該象元打開,否則該象元關(guān)閉。

        我們在讀字模的時候可以一次讀2個字節(jié),形成一個16位的二進制數(shù),把此二進制數(shù)設(shè)為upattern,然后畫線。這樣只需循環(huán)16次就可寫完一個漢字。速度得到很大的提高。尤其在字?jǐn)?shù)較多時,更體現(xiàn)出此方法的優(yōu)勢。

        以下為用畫線的方法在西文狀態(tài)下顯示漢字的函數(shù),在Turbo C 1.0、DOS6.0、兼容386機上運行通過。

        #include

        #include

        #include

        FILE *stream; //設(shè) stream為全程變量//

        void open-file

        {//打開漢字庫函數(shù),使用的漢字庫為UCDOS的16點陣字庫:HZK16//

        if((stream=fopen("hzk16","rb"))==NULL)

        { printf("Can't Open File HZK16"); exit(1);}

        }

        void close-file

        {//關(guān)閉漢字庫函數(shù)//

        fclose(stream); return;

        }

        void write16(unsigned char *word,int x,int y,int wd,int col)

        {//word為所要顯示的漢字串,x,y為要顯示漢字的起始坐標(biāo),wd為兩個漢字//

        //之間的間隔,col為要顯示漢字的顏色.//

        register int k,i;

        unsigned char cw[33];

        char c[2];

        unsigned long int qu-ma,wei-ma;

        setcolor(col);settextstyle(0,HORIZ-DIR,1);

        for(k=0;word[k]!='/0';k =2)

      【Turbo C在圖形狀態(tài)下快速顯示彩色漢字的方法】相關(guān)文章:

      諾基亞c6關(guān)機狀態(tài)下硬格07-12

      《彩色圖形找朋友》教學(xué)設(shè)計06-28

      平移的圖形剪紙方法03-21

      彩色圖形找朋友教案設(shè)計06-28

      如何快速搶到華為榮耀3C07-11

      青少年快速的減肥方法06-28

      系鞋帶的快速方法圖解06-29

      快速閱讀書籍的方法06-28

      衣柜快速除甲醛方法06-29

      快速化妝方法介紹07-04