freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言從入門到精通,非常不錯(cuò)的課件第12章-資料下載頁

2024-12-23 12:16本頁面
  

【正文】 置的顏色在屏幕的相應(yīng)位置畫點(diǎn),若該位為 0則不畫點(diǎn)。這樣就可按預(yù)先設(shè)置的顏色在相應(yīng)的位置顯示出該漢字來。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 區(qū)位碼與內(nèi)碼的轉(zhuǎn)化關(guān)系及字模顯示技術(shù) 漢字內(nèi)碼與區(qū)位碼存在著固定的轉(zhuǎn)換關(guān)系: 設(shè)某漢字內(nèi)碼的十六進(jìn)制數(shù)表示形式為 0xkkjj,則相應(yīng)區(qū)位碼的區(qū)號(hào) qh 和位號(hào) wh 分別為: qh=0xkk 0xa0; wh=0xjj 0xa0; 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 若用十進(jìn)制數(shù)表示內(nèi)碼為 c1c2,則 qh=c1160; wh=c2160; 即區(qū)位碼 qw 為: qw=100*(c1160)+(c2160); 反之亦可由區(qū)位碼 qw求得區(qū)號(hào)和位號(hào): qh=qw/100。 wh=qw100*qh。 對(duì)于國標(biāo) 231280漢字字庫 , 漢字庫分成 94個(gè)區(qū) ,每個(gè)區(qū)有 94個(gè)位 , 每個(gè)位存放一個(gè)漢字 , 當(dāng)漢字點(diǎn)陣為 16 16 時(shí) , 每 個(gè) 漢 字 的 字 模 大 小 為(16 16)/8=32個(gè)字節(jié) 。 因而該漢字在漢字庫中離起點(diǎn)的偏移位置 ( 以字節(jié)為單位 ) , 可由如下表達(dá)式計(jì)算: offset=(94*(qh1)+(wh1))*32L。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 注意 , 偏移量對(duì)于不同的漢字庫是不相同的 。 下面給出幾種常用漢字庫中地址碼 offset的計(jì)算 公式: ⑴ ucdos中的字庫 16x16點(diǎn)陣字模: offset=((qh1)*94+(wh1))*32L。 ⑵ CCDOS HZK16存放 16x16點(diǎn)陣字模: offset=((qh16)*94+wh1+15*94)*32L。 ⑶ 16x16點(diǎn)陣字模: offset=((qh7)*94+wh1)*32L。 ⑷ CCDOS hzk24存放 24x24點(diǎn)陣字模: offset=((qh16)*94+wh1)*72L。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 西文 DOS環(huán)境下的漢字顯示 漢字顯示方法 在西文 DOS環(huán)境下,可以采用畫點(diǎn)或畫線的方法。 ⑴ 利用畫點(diǎn)函數(shù) putpixel()顯示漢字 根據(jù)漢字字模點(diǎn)陣信息的各個(gè)字節(jié)每位的狀態(tài)來判斷是否在相應(yīng)的位置上畫點(diǎn) 。 若該位為 1, 則在相應(yīng)的位置上用函數(shù) putpixel( )畫一點(diǎn);若是 0則跳過 。這樣形成的亮點(diǎn)組合起來就是一個(gè)漢字的字形 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 ⑵ 利用畫線函數(shù) lio()顯示漢字 根據(jù)漢字字模點(diǎn)陣信息可以確定組成漢字 16線每條線的線型參數(shù) , 用 setlinestyle()設(shè)置線型 ,再由 lio()函數(shù)畫 16點(diǎn)長(zhǎng)的線 , 重復(fù) 16次這樣的過程 , 畫 16條不同的線型的直線 , 就可組成一個(gè)漢字 。 設(shè)置線型函數(shù) setlinestyle(linestyle, upattern, thickness)。 說明 :參數(shù) linestyle 用于指定畫線的線型;參數(shù)upattern 僅當(dāng)線型參數(shù)為 USERBIT_LINE時(shí)才起作用 ??捎?16位二進(jìn)制 、 4位 16進(jìn)制或十進(jìn)制數(shù)來表示 。 表示成 16位二進(jìn)制數(shù)時(shí) , 每位代表一個(gè)象素點(diǎn) 。 若某位是 1,則線中的對(duì)應(yīng)像素用當(dāng)前顏色畫出來;否則對(duì)應(yīng)的象素點(diǎn)用背景色顯示;參數(shù) thickness用于指定畫線的寬度 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 漢字的垂直輸出是指將漢字逆時(shí)針方向旋轉(zhuǎn) 90度,然后進(jìn)行輸出顯示。即將按行輸出漢字字模改為按列輸出就可以實(shí)現(xiàn)。放大漢字的方法是將字模數(shù)據(jù)中的每一位用一個(gè)填充長(zhǎng)方形或橢圓來表示。 在 C應(yīng)用程序中使用的漢字量一般都比較少。因此,可以把在程序中用到的漢字制作成小字庫,當(dāng)程序運(yùn)行時(shí),首先把小字庫加載到內(nèi)存,在顯示漢字時(shí)可直接從內(nèi)存中讀取漢字字模數(shù)據(jù)。這樣既可提高漢字的顯示速度,又避免了由于加載整個(gè)漢字庫所造成的內(nèi)存浪費(fèi)或影響程序的運(yùn)行。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 漢字的垂直輸出與放大顯示 小字庫技術(shù) 舉例 :編寫創(chuàng)建一個(gè)名為 。 include include include define MAXNUM 100 /*小字庫最多可容納的漢字?jǐn)?shù) */ unsigned char *hzstring=‖‖。 main() { unsigned char hzmatrix[MAXNUM][32]。 int hzcde[MAXNUM]。 long p。 int i,j。 int quma,weima。 unsigned char buf[32]。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 FILE *fp,*cclibfile。 fp=fopen(,‖wb‖)。 if(fp==NULL) {printf(―\Can’t open write file! Press any key to halt… ‖)。 getch()。 exit(1)。 } cclibfile=fopen(―hzk16‖,‖rb‖)。 if(cclibfile==NULL) {printf(―\Can’t open hzk16 file! Press any to halt… ‖)。 getch()。 exit(1)。 } 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 i=0。 While(*hzstring) { quma=*hzstring0xa0。 /*計(jì)算區(qū)號(hào) */ weima=*(hzstring+1)0xa0。 /*計(jì)算位號(hào) */ p=(quma1)*94+weima1。 /*計(jì)算漢字字模的記錄號(hào) */ p*=32。 /*字模首址 */ hzcode[i]=100*quma+weima。 /*保存區(qū)位碼 , 作為漢字索引 */ fseek(cclibfile,(long)p,SEEK_SET)。 /*將文件指針指向字模首地址 */ fread(buf,sizeof(unsigned char),32,cclibfile)。 /*讀取字模數(shù)據(jù) */ 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 for(j=0。j32。j++) hzmatrix[i][j]=buf[j]。/*將字模數(shù)據(jù)存入 hzmatrix*/ hzstring+=2。 i++。 } fwrite(hzcode,sizeof(hzcode),1,fp)。 /*記錄區(qū)位碼 */ fwrite(hzmatrix,sizeof(hzmatrix),1,fp)。 /* 向字庫文件寫入字模 */ fclose(fp)。 fclose(cclibfile)。 } 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 例題:小字庫的使用。 參照教材。 返回
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1