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

正文內(nèi)容

c語(yǔ)言圖形編程(一(已修改)

2025-09-01 15:23 本頁(yè)面
 

【正文】 C 語(yǔ)言圖形編程 (一、字符屏幕 ) 一、屏幕操作函數(shù) 1. clrscr()清除字符窗口函數(shù) 2. window()字符窗口函數(shù) 3. gotoxy()光標(biāo)定位函數(shù) 4. clreol() 清除光標(biāo)行尾字符函數(shù) 5. insline() 插入空行函數(shù) 6. delline() 刪除一行函數(shù) 7. gettext() 拷進(jìn)文字函數(shù) 8. puttext() 拷出文字函數(shù) 9. movetext() 移動(dòng)文字函數(shù) 二、字符屬性 函數(shù) 10. textmode() 文本模式函數(shù) 11. highvideo()高亮度函數(shù) 12. lowvideo() 低亮度函數(shù) 13. normvideo(void)。 14. textcolor() 文本顏色函數(shù) 15. textattr() 文本屬性函數(shù) () 文本背景函數(shù) 三、 屏顯狀態(tài)函數(shù) 17. wherex() 光標(biāo)處 x坐標(biāo)函數(shù) 18. wherey() 光標(biāo)處 y 坐標(biāo)函數(shù) 19. gettextinfo() 獲取文本窗口信息函數(shù) 在 Borland C++里面提供了字符屏幕和圖形函數(shù)。字符屏幕的核心是窗口 (Window),它是屏幕的活動(dòng)部分,字符輸出或顯示在活動(dòng)窗口中進(jìn)行。窗口在缺省時(shí),就是整個(gè)屏幕。窗口可以根據(jù)需要指定其大小。同樣,對(duì)圖形函數(shù)的操作,也提供了 (Viewport)。也就是說(shuō)圖形函數(shù)的操作都是在視口上進(jìn)行。圖形視口與字符窗口具有相同的特性,用戶可以在屏幕上定義大小不同的視口,若不定義視口大小,它就是整個(gè)屏幕。 窗口是在字符屏幕下的概念,只 有字符才能在窗口中顯示出來(lái),這時(shí)用戶可以訪問(wèn)的最小單位為一個(gè)字符。視口是在圖形屏幕狀態(tài)下的概念,文本與圖形都可以在視口上顯示,用戶可訪問(wèn)的最小單位是一個(gè)像素 (像素這一術(shù)語(yǔ)最初用來(lái)指顯示器上最小的、單獨(dú)的發(fā)光點(diǎn)單元。然而現(xiàn)在,其含義拓寬為指圖形顯示器上的最小可訪問(wèn)點(diǎn) )。 字符和圖形狀態(tài)下,屏幕上的位置都是由它們的行與列所決定的。有一點(diǎn)須指出:字符狀態(tài)左上角坐標(biāo)為 (1,1),但圖形左上角坐標(biāo)為 (0,0)。 了解字符屏幕和圖形函數(shù)與窗口和視口的關(guān)系是很重要的。例如,字符屏幕 光標(biāo)位置函數(shù) gotoxy()將光標(biāo)移到窗口的 x,y 位置上,這未必是相對(duì)于整個(gè)屏幕。下面介紹常用的幾類字符屏幕函數(shù)的功能用途、操作方法及其例行程序。 一、屏幕操作函數(shù) 編寫程序繪圖經(jīng)常要用到對(duì)字符屏幕進(jìn)行操作。例如,在往屏幕上寫字符之前,首先要將屏幕清除干凈。又如,有時(shí)需要在屏幕上多處寫上肉中刺樣的字符內(nèi)容,這時(shí)最好用屏幕拷貝來(lái)高效率地完成這一任務(wù)。對(duì)這些操作, Borland C++提供了一系列字符屏幕操作函數(shù)來(lái)實(shí)現(xiàn)。 1. clrscr()清除字符窗口函數(shù) 功能:函數(shù) clrscr()清除整個(gè)當(dāng)前字符窗口,并且把光標(biāo)定 位于左上角 (1,1)處。 用法:此函數(shù)調(diào)用方式為 void clrscr(void)。 說(shuō)明:括號(hào)中 void 表示無(wú)參數(shù)。 該函數(shù)相應(yīng)的頭文件為 返回值:無(wú) 例:使用這個(gè)函數(shù)的例子見(jiàn) ()函數(shù)的實(shí)例中。 2. window()字符窗口函數(shù) 功能: 函數(shù) window()用于在指定位置建立一個(gè)字符窗口。 用法: 此函數(shù)調(diào)用方式為 void window(int left,int top,int right,int bottom)。 說(shuō)明: 函數(shù)中參數(shù) left,top 為窗 口左上角坐標(biāo) 。right,bottom 為其右下角坐標(biāo)。 若有一個(gè)坐標(biāo)是無(wú)效的,則 window()函數(shù)不起作用。一旦該函數(shù)調(diào)用成功,那么所有定位坐標(biāo)都是相對(duì)于窗口的,而不是相對(duì)于整個(gè)屏幕。但是建立窗口所用的坐標(biāo)總是相對(duì)整個(gè)屏幕的絕對(duì)坐標(biāo),而不是相對(duì)當(dāng)前窗口的相對(duì)坐標(biāo)。這樣用戶就可以根據(jù)各種需要建立多個(gè)互不嵌套的窗口。 此函數(shù)的頭文件為 。 返回值:無(wú) 例: 調(diào)用這個(gè)函數(shù)的實(shí)現(xiàn)例見(jiàn) ()函數(shù)的例子中。 3. gotoxy()光標(biāo)定位函數(shù) 功能: 函數(shù) gotoxy()將字屏幕上的光標(biāo)移到當(dāng)前窗口指定的位置上。 用法: 這個(gè)函數(shù)調(diào)用方式為 void gotoxy(int x,int y)。 說(shuō)明: 括號(hào)里 x,y 是, 光標(biāo)定位的坐標(biāo),如果其中一個(gè)坐標(biāo)值無(wú)效 (如坐標(biāo)超界 ),那么光標(biāo)不會(huì)移動(dòng)。 此函數(shù)在字符狀態(tài) (有時(shí)稱為文本狀態(tài) )下經(jīng)常用到 ,其相應(yīng)的頭文件為 返回值:無(wú) 例: 下面程序建立兩個(gè)窗口,然后在窗口里顯示字符,字符的位置是調(diào)用該函數(shù)確定的。 include void border(int startx,int starty,int endx,int endy) { register int i。 gotoxy(1,1)。 for(i=0。i=endxstartx。i++) putch(39。39。)。 gotoxy(1,endystarty)。 for(i=0。i=endxstartx。i++) putch(39。39。)。 for(i=2。i=endystarty。i++){ gotoxy(1,i)。 putch(39。139。)。 gotoxy(endxstartx+1,i)。 putch(39。139。)。 } } main() { void border(int,int,int,int)。 clrscr()。 window(6,8,38,12)。 border(6,8,38,12)。 gotoxy(2,2)。 printf(window 1)。 window(8,16,40,24)。 border(8,16,40,24)。 gotoxy(3,2)。 printf(window 2)。 getch()。 } 4. clreol() 清除光標(biāo)行尾字符函數(shù) 功能: 函數(shù) clreol()在當(dāng)前字符窗口中清除從光標(biāo)位置到行尾的所有字符,而光標(biāo)位置保持不變。 用法: 它的調(diào)用方式為 void clreol(void)。 說(shuō)明: 此函數(shù)的相應(yīng)頭文件為 返回值:無(wú) 例: 程序中使用了函數(shù) clreol()和 clrscr() include void main() { register int i。 gotoxy(6,8)。 printf(This is a test of the clreol() function.)。 getch()。 gotoxy(6,8)。 clreol()。 for(i=0。i20。i++) printf(Hello\n)。 getch()。 clrscr()。 } 5. insline() 插入空行函數(shù) 功能: 函數(shù) insline()插入一空行到當(dāng)前光標(biāo)所在行上,同時(shí)光標(biāo)以下的所有行都向下順移一行。 用法: 此函 數(shù)的調(diào)用方式為 void insline(void)。 說(shuō)明: 該函數(shù)只用于文本方式,并且在當(dāng)了符窗口才有效。 這個(gè)函數(shù)的對(duì)應(yīng)頭文件是 返回值:無(wú) 例: 程序給出了 insline()函數(shù)的用法。 include void main() { registser int i。 clrscr()。 for(i=1。i24。i++) { gotoxy(1,i)。 printf(This is line %d\n,i)。 } getch()。 gotoxy(1,10)。 insline()。 getch()。 } 6. delline() 刪除一行函數(shù) 功能: 函數(shù) delline()刪除當(dāng)前窗口內(nèi)光標(biāo)所在行,同時(shí)把該行下面 所有行都上移一行。 用法: 此函數(shù)調(diào)用方式為 void delline(void)。 說(shuō)明: 注意,如果當(dāng)前窗口小于整個(gè)屏幕,那么該函數(shù)只影響到窗口內(nèi)的字符。 這個(gè)函數(shù)相應(yīng)的頭部文件是 返回值: 無(wú) 例:先在屏幕上顯示 16 行文字,然后刪除 第 4 行 include void main() { register int i。 clrscr()。 for(i=0。i16。i++) printf(line %d\n,i)。 getch()。 gotoxy(1,4)。 delline()。 getch()。 } () 拷進(jìn)文字函數(shù) 功能: 函數(shù) gettext()用于文本狀態(tài)下將屏幕上矩形域內(nèi)的文字拷進(jìn)內(nèi)存。 用法: 該函數(shù)調(diào)用方式為 int gettext(int left,int top,int right,int bottom,void *buffer)。 說(shuō)明: 函數(shù)中參數(shù) left,top 為矩形區(qū)域的左上角坐標(biāo) ,right,bottom 為其右下角坐標(biāo),這些坐標(biāo)是屏幕的絕對(duì)坐標(biāo),不是窗口的相對(duì)坐標(biāo)。 buffer 指針必須指向一個(gè)足夠保存該矩形域內(nèi)文字的內(nèi)存。所用內(nèi)存大小按下式計(jì)算: 點(diǎn)頭用字節(jié)數(shù) =矩形哉內(nèi)的行數(shù) 矩形域的列數(shù) 2 這里將行數(shù)乘以列數(shù)再乘以 2 的原因是保存屏幕上每個(gè)字符要用兩個(gè)字節(jié)存儲(chǔ)單元,一個(gè)字節(jié)存儲(chǔ)單元存放字符本身,而另一個(gè)存放其屬性。 此函 數(shù)相應(yīng)的頭文件是 返回值: 若函數(shù)調(diào)用成功則返回 1,否則返順 0。 例: 把屏幕左上角點(diǎn) (1,1)和右下角點(diǎn) (10,10)的區(qū)域拷貝到 buf 指向的內(nèi)存中去。 buf=(char *)malloc(10*10*2)。 if(!buf)gettext(1,1,10,10,buf)。 8. puttext() 拷出文字函數(shù) 功能: 函數(shù) puttext()把先前由 gettext()保存到 buffer 指向的內(nèi)存中的文字拷出到屏幕上一個(gè)矩形區(qū)域中。 用法: 此函數(shù)調(diào)用方式為 int puttext(int left,int top,int right,int bottom,void *buffer)。 說(shuō)明: 函數(shù)里 left,top 為給出的屏幕上矩形區(qū)域的左上角點(diǎn), right,bottom 為其右下角點(diǎn),其坐標(biāo)是用屏幕的絕對(duì)坐標(biāo),而不是用窗口的相對(duì)坐標(biāo)。 該函數(shù)相應(yīng)的頭文件為 返回值: 函數(shù)調(diào)用成功返回值為 1,否則返回 0。 例: 屏幕上某個(gè)區(qū)域內(nèi)容拷進(jìn) buf指向的內(nèi)存中,然后又將這些文字拷出到屏幕上新位置。 buf=(char *)malloc(10*10*2)。 gettext(1,1,10,10,buf)。 puttext(16,16,30,30,buf)。 9. movetext() 移動(dòng)文字函數(shù) 功能: 函數(shù) movetext()將屏幕上一個(gè)矩形區(qū)域的文字移到另一個(gè)區(qū)域上。 用法: 該函數(shù)調(diào)用方式為 int movetext(int left,int top,int right,int bottom,int newleft,int newtop)。 說(shuō)明: 上面 left,top 為矩形區(qū)域上角坐標(biāo), right,bottom 為其右下角坐標(biāo) ,newleft,newright 為移動(dòng)到區(qū)域左上角坐標(biāo)。這些坐標(biāo)是屏幕的絕對(duì)坐標(biāo),不是窗口的相對(duì)坐標(biāo)。 若要把屏幕上一段文字移到屏幕的另一位置,那么使用 movetext()函數(shù)比用 gettext()然后再用 puttext()效率更高。 此函數(shù)相應(yīng)的頭文件是 返回值: 如果有一個(gè)以上坐標(biāo)無(wú)效,那么函數(shù)返回值為 0,否則返回 1。 列: 把屏幕左上角點(diǎn) (8,8),右下角點(diǎn) (20,20)的矩形區(qū)域文字移動(dòng)到左上角點(diǎn) (10,10)的位置上: movetext(8,8,20,20,10,10)。 10. textmode() 文本模式函數(shù) 功能: 函數(shù) textmode()針屏幕設(shè)置為文本模式 (或者說(shuō)字符狀態(tài) )。 用法: 函數(shù)調(diào)用方式為 void textmode(int mode)。 說(shuō)明: 參數(shù) mode 必須為表 12 中所示的模式之一 ⑴ 以用模式名 (符號(hào)值 ),也可以用其等價(jià)的整數(shù)值。 表 12 文本模式 模式名 (符號(hào)值 ) 等價(jià)整數(shù)值 說(shuō) 明 BW40 0 40 列黑白 C 40
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1