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

正文內(nèi)容

第3章高級(jí)編程技術(shù)的實(shí)現(xiàn)(編輯修改稿)

2024-11-17 08:10 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 t main() { int i,j。 union REGS inreg,outreg。 =0。 /*置屏幕顯示方式 */ =0x13。 /* 定義 VGA256色 320 200圖形模式 */ int86(0x10,amp。inreg,amp。outreg)。 /*調(diào)用中斷 0x10*/ for (i=0。i256。i++) for(j=0。j200。j++) { =0x0c。/*寫(xiě)點(diǎn) */ 應(yīng)用實(shí)例 在屏幕上畫(huà)出顏色不同的 256條直線的 程序源代碼 =i。 /*置顏色號(hào) */ =0。 /*決定畫(huà)點(diǎn)位置 */ =i。 =0。 =j。 int86(0x10,amp。inreg,amp。outreg)。 } getch()。 =0。 =2。 /*返回到文本方式 */ int86(0x10,amp。inreg,amp。outreg)。 } 圖形繪制: 點(diǎn)和線 —— 利用 BIOS調(diào)用 54 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制 : 矩形、圓和弧線 畫(huà)矩形的函數(shù): void far rectangle(int xl, int y1, int x2, int y2); 畫(huà)橢圓 、 圓和扇形圖函數(shù): void ellipse(int x, int y, int stangle, int endangel, int xradius, int yradius); void far circle(int x, int y, int radius); void far arc(int x, int y, int stangle, int endangle, int radius); 55 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 編寫(xiě)程序,使用鼠標(biāo)進(jìn)行如下操作:按住鼠標(biāo)器的任意鍵并移動(dòng),十字光標(biāo)將隨鼠標(biāo)而移動(dòng),根據(jù)按鍵的不同采用不同的形狀來(lái)畫(huà)出相應(yīng)的移動(dòng)軌跡:當(dāng)僅按下左鍵時(shí)用圓圈;僅按下右鍵時(shí)用矩形;其它按鍵情況用線條。 應(yīng)用實(shí)例 問(wèn)題描述 圖形繪制 56 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 結(jié)合鼠標(biāo)使用方法和上述的圖形繪制函數(shù)來(lái)解決問(wèn)題。由于在 Windows2020/XP下不支持 INT 33的 1號(hào)顯示鼠標(biāo)光標(biāo)功能,可以用畫(huà)線函數(shù) line()畫(huà)出一個(gè)十字形光標(biāo)。光標(biāo)的移動(dòng)是通過(guò)將原位置光標(biāo)用背景色再畫(huà)而使其消失,然后在新位置處重新畫(huà)一個(gè)光標(biāo),從而實(shí)現(xiàn)光標(biāo)移動(dòng)的動(dòng)感。 應(yīng)用實(shí)例 設(shè)計(jì)思想 圖形繪制 57 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 應(yīng)用實(shí)例 程序運(yùn)行截圖 圖形繪制 58 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 填充設(shè)置函數(shù) : void far setfillstyle(int pattern, int color); 該函數(shù)將用設(shè)定的 color顏色和 pattern圖模式對(duì)后面畫(huà)出的輪廓圖進(jìn)行填充,這些圖輪廓是由待定函數(shù)畫(huà)出的。 59 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 填充設(shè)置函數(shù) : void far setfillstyle(int pattern, int color) 60 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 用戶自定義填充函數(shù) : void far setfillpattern(char upattefn, int color); 該函數(shù)設(shè)置用戶自定義可填充模式,以 color指出的顏色對(duì)封閉圖形進(jìn)行填充。參數(shù) upattern是一個(gè)指向 8個(gè)字節(jié)存儲(chǔ)區(qū)的指針,這 8個(gè)字節(jié)表示了一個(gè)8 8像素點(diǎn)陣組成的填充圖模,它是由用戶自定義的,用來(lái)對(duì)封閉圖形填充。 8個(gè)字節(jié)的圖模是這樣形成的:每個(gè)字節(jié)代表一行,而每個(gè)字節(jié)的每一個(gè)二進(jìn)制位代表該行的對(duì)應(yīng)列上的像素。是 1,則用color顯示,是 0則不顯示。 61 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 得到目前的填充模式和顏色的函數(shù) : void far fillsettings(struct fillsettingstype far *fillinfo)。 void far getfillpattern(char *upattern); 62 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 可填充的基本圖形函數(shù): (這些函數(shù)繪制的圖形 , 將根據(jù)事先用 setfillstyle函數(shù)設(shè)置的填充模式和顏色 , 或按缺省方式進(jìn)行填充 ) void bar(int x1, int y1, int x2, int y2); void far pieslice(int x, int y, int stangle, int endangle, int radius); void far bar3d(int x1, int y1, int x2, int y2, int depth, int topflag); void far sector(int x, int y, int stangle, int endang1e, int xradius, int yradius); void far fillellipse(int x, int y, int xradius, int yradius); void far fillpoly(int numpoints, int far polypoints); 63 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖形繪制: 封閉圖形的填色 可對(duì)任意封閉圖形填充的函數(shù) : void far floodfill(int x, int y, int border); 該函數(shù)將對(duì)任一封閉圖形進(jìn)行填充 , 其顏色和模式將由設(shè)定的或缺省的圖模與顏色決定 。 其中參數(shù) (x, y)為封閉圖形中的任一點(diǎn) , border是封閉圖形的邊框顏色。 編程時(shí)該函數(shù)位于畫(huà)封閉圖形 ( 即要填充的圖形 ) 的代碼之后 。 64 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) include main(){ int i, graphdriver,graphmode,size,page。 char s[30]。 graphdriver=DETECT。 initgraph(amp。graphdriver,amp。graphmode,)。 cleardevice()。 setbkcolor(BLUE)。 setviewport(40,40,600,440,1)。 /*開(kāi)圖視口 */ setfillstyle(1,2)。 setcolor(YELLOW)。 rectangle(0,0,560,400)。 floodfill(50,50,14)。 /*用綠色填充矩形框 */ rectangle(20,20,540,380)。 setfillstyle(1,13)。 floodfill(2l,300,14)。 /*用淡洋紅色填充矩形框 */ setcolor(BLACK)。 應(yīng)用實(shí)例 程序源代碼 settextstyle(1,0,6)。 /*設(shè)置字形方向 ,尺寸 */ outtextxy(100,60,Wel You)。 setviewport(100,200,540,380,0)。 setcolor(14)。 setfillstyle(1,12)。 rectangle(20,20,420,120)。 settextstyle(2,0,9)。 floodfill(21,100,14)。 /*用深藍(lán)色填充 */ sprintf(s,“Let?s study Turbo C”)。 setcolor(YELLOW)。 outtextxy(60,40, s)。/*用黃色顯示 */ setcolor(1)。 settextstyle(4,0,3)。 outtextxy(110,80,s)。 getch()。 closegraph()。 } 圖形繪制 65 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 應(yīng)用實(shí)例 程序輸出 圖形繪制 66 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 主要內(nèi)容 操作手段 顯示方式 圖形繪制技術(shù) 圖像技術(shù) 動(dòng)畫(huà)技術(shù) 發(fā)聲技術(shù) 漢字顯示技術(shù) 精確的時(shí)間控制技術(shù) 67 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù) :圖像的二種來(lái)源 ( 1)屏幕圖像 : 在圖形方式下所繪圖形形成的像素點(diǎn)圖像 。 圖像數(shù)據(jù)直接存儲(chǔ)在 VRAM中, VRAM中某地址單元存放的數(shù)就表示了相應(yīng)屏幕上某行和列上的像素及其顏色值 。 ( 2)圖像文件 : 圖像數(shù)據(jù)以一定的格式存儲(chǔ)在文件中。需要有專(zhuān)門(mén)的軟件來(lái)支持,或自己編寫(xiě)程序來(lái)讀取、顯示和生成某種格式的圖像文件。首先必須要了解某種圖像文件的格式。 68 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像與 VRAM 直接寫(xiě)屏 : 在圖形方式下將圖像數(shù)據(jù)直接寫(xiě)入 VRAM的過(guò)程,即圖像顯示過(guò)程。直接寫(xiě)屏是最快的圖像顯示方法。 69 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù): VRAM與系統(tǒng)存儲(chǔ)器的對(duì)應(yīng)關(guān)系 ? CGA的 VRAM對(duì)應(yīng)的內(nèi)存地址開(kāi)始于 B8000H, VGA、EGA的開(kāi)始于 A0000H。 ?對(duì) CGA, VRAM僅有 16K字節(jié);對(duì) VGA和 EGA, VRAM可達(dá) 256K字節(jié),它分成獨(dú)立的 4個(gè) 64K字節(jié)部分,這樣的每個(gè)部分稱(chēng)為一個(gè)位面或頁(yè)面(編號(hào) 03),它們共同占有一塊內(nèi)存空間,即用同一的 64K個(gè)地址。相應(yīng)內(nèi)存的每個(gè)地址實(shí)際上代表 VRAM4個(gè)位面上相并列的 4個(gè)字節(jié)。 ? 對(duì)于 SVGA, 由于它要存取更高分辨率或更多顏色的數(shù)據(jù),一般都至少擁有 512K以上的 VRAM, 但其所占用的內(nèi)存地址仍大都是 64K, 因此也需要?jiǎng)澐衷S多頁(yè)面,對(duì)應(yīng)到A0000H或其它的視頻內(nèi)存地址上。 70 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像的允許讀寫(xiě)過(guò)程 ?允許讀的過(guò)程是:首先通過(guò)索引寄存器 ( 接口地址為 0x3ce) 選擇讀位面選擇寄存器 ( 其索引號(hào)為 4) ,然后通過(guò)讀位面選擇寄存器 ( 接口地址 0x3cf) 選擇位面號(hào) 。 相應(yīng)的代碼為: ?outportb(0x3ce, 4)。 /*將索引號(hào) 4送索引寄存器, 選擇讀位面選擇寄存器 * ?/outportb(0x3cf, n)。 /*將選擇的位面號(hào) n送讀位面選擇寄存器 , 允許該位面可讀 */ 71 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像的讀寫(xiě)過(guò)程 ?允許寫(xiě)的過(guò)程是:首先通過(guò)索引寄存器 ( 接口地址為 0x3c4) 選擇位面寫(xiě)允許寄存器 ( 索引號(hào)為 2) , 然后通過(guò)接口地址 0x3c5選擇位面號(hào) 。 相應(yīng)的代碼為: ?outportb(0x3c4, 2)。 /*將索引號(hào) 2送索引寄存器, 選擇位面寫(xiě)允許寄存器 */ ?outportb(0x3c5, k)。 /*送位面號(hào)至位面寫(xiě)允許寄存器 , 允許該位面可寫(xiě) */ 72 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像數(shù)據(jù)在 VRAM中存放格式 ?CGA的 4色 320 200的模式 , 視頻內(nèi)存起始地址B0000H。 屏幕上顯示的像素點(diǎn)從左到右 , 從上到下依次存在 VRAM從 0號(hào)地址開(kāi)始的連續(xù)地址中 , 每個(gè)像素占 2位 , VRAM每個(gè)字節(jié)存放四個(gè)像素點(diǎn) 。 ?特殊的地方 : 屏幕上顯示的偶行像素存在 16KVRAM的上半部 , 而奇行存在下半部 。 從系統(tǒng)地址看 , 上半部開(kāi)始于 B800:0000, 下半部開(kāi)始于 B800:1000。 73 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像數(shù)據(jù)在 VRAM中存放格式 ?VGA視頻內(nèi)存起始地址 A0000H, 在 16色 640 480模式下采用位面對(duì)應(yīng)方式 , 視頻內(nèi)存地址上每一個(gè)字節(jié)代表 8個(gè)像素 , 每一位又可對(duì)應(yīng)到位面中同樣位置的 4位上 ( 4位的組合表示 16色之一 , 因此又稱(chēng)位面為顏色位面 ) 。 ?在屏幕上繪出一個(gè)點(diǎn)時(shí) , 就必須將數(shù)據(jù)分別存放到四個(gè)位面中對(duì)應(yīng)的位上 。 74 第 3章 高級(jí)編程技術(shù)的實(shí)現(xiàn) 圖像技術(shù):屏幕圖像數(shù)據(jù)在 VRAM中存放格式 ?在 256色 320 200模式下采用的是線性對(duì)應(yīng)的方法( SVGA的所有 256色和真彩都是用這種方法 ) 。 ?線性對(duì)應(yīng)將屏幕上每一點(diǎn)與視頻內(nèi)存地址按順序一一對(duì)應(yīng)起來(lái) , 一個(gè)點(diǎn)對(duì)應(yīng)一個(gè)字節(jié) , 這樣做的好處是:這種對(duì)應(yīng)方
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1