C语言图形界面的编程
1.編寫圖形程序時(shí)用致電的一些圖形庫函數(shù)抣在graphics.lib中,扏行這些函數(shù)時(shí),所需 的有關(guān)信息(如宏定義等 )則
??? 包含在graphics.h頭文件中。
2.我們?nèi)粘T陔娨暺聊簧巷@示的畫面,其實(shí)均由一些圓點(diǎn)組成(其亮度,顔色不同),這些點(diǎn)稱為像素(或像點(diǎn)),
??? 它們是組成圖形的最小單位。
3。插在PC機(jī)插槽中的圖形卡(即適配器),其作用就是將要顯示的字符和圖形以數(shù)字形式存儲在上的顯示存儲器(VRAM) 中,再將其變成視頻模擬信號送往相應(yīng)適配的顯示器機(jī)配有的顯示器種類不同,因而適配器種類不同
4,VGA:視頻圖形陣列適器:
???? VGA是目前流行的PC機(jī)顯示標(biāo)準(zhǔn) ,它支持CGA,EGA的所有顯示方式,但自已還有640*480像素的16色顯示方式 , 640*350像素的中分辨率顯示方式和640*200像素的低分辨顯示方式,它們均有16種顯示顏色可供選擇。
5.CVGA:是國內(nèi)研制的帶有顯示 漢字功能的VGA圖形適配器,帶有漢字字庫,該適配器提供了和CGA,EGA,VGA
?????? 全兼容 的工作方式,還擔(dān)供了在文本工作方式下的高分辨率圖形顯示功能。
6.顯示器有兩種工作方式,即文本顯示和圖形顯示。它們的區(qū)別是顯示 存儲器中的存儲的信息不同。字符方式時(shí), VRAM
?? 存放要顯示字符的ASCII 碼,用它作為地址,取出字符發(fā)生器ROM中存放的相應(yīng)字符的圖像(又稱字模),變成視頻信號在顯示 器上進(jìn)行顯示;而當(dāng)選擇圖形方式時(shí),則要顯示的圖形的圖像直接存在VRAM中中,VRAM中某地址單元存放的數(shù)就表示了相應(yīng)屏莫上某行和某列上的像素及顔色
7.對EGA顯示 器,調(diào)色板即16個(gè)調(diào)色板寄存器是一個(gè)顔色索引表,它存有16種顔色,VRAM中的每個(gè)像素值(是4位)實(shí)際
??????? 代表一個(gè)顔色索引號該值即上述函有選舉權(quán)的參數(shù)index可知道選中哪個(gè)調(diào)色板寄存器,而每個(gè)調(diào)色板寄存器為6
??????? 位,故可用6位二進(jìn)制數(shù)表示一個(gè)顔色,因而可有64種顔色供選擇。該顔色值即是上述參數(shù)octual_color,
8.對于VGA顯示 器,也只有一個(gè)調(diào)色板,對應(yīng)16個(gè)調(diào)色板寄存器。但這些寄存器裝的內(nèi)容和EGA的不同,它們裝的又是一個(gè)
??????? 顔色寄存器表的索引,而這些顏色寄存器才存有顯示的顏色,它們字長為18位,因而可選256K種顏色,共有256個(gè)
??????? 顏色寄存器,因而可一次顯示256種顏色。VGA的調(diào)色板寄存器是6位,而要尋址256個(gè)顏色寄存器需有8位。它是這樣尋址的,即還要通過一個(gè)所謂模式控制寄存器的最高位決定,若為0(對于640*480*16色顯示是這樣,),則低6位由調(diào)色板寄存器給出,高兩位由顏色選擇寄存器給出,從而組合出8位地址碼。因此它的像素顯示過程是:由VRAM提供調(diào)色板寄存器給出,再由栓索到的調(diào)色板寄存器的內(nèi)容同顏色選擇寄存器配合,栓索到顏色寄存器,再由顏色寄存器存的顏色值而令顯示器顯示,當(dāng)模式寄存器最暠位為1時(shí),則調(diào)色板寄 存器給出低4位的4位地址碼,而由顏色選擇寄存器給出高4位的4位地址碼,來組合成8位地址碼,對顏色寄存器尋址得出顏色值。
9.存儲在顯示適配器上的顯示存儲器(VRAM)中的一滿屏圖像信息稱為一頁,每個(gè)頁一般為64KB,VRAM可以存儲要顯示的圖像好幾頁(VRAM )
?? 容量而定,最大可達(dá)8 頁。TURBOC只支持4頁。編輯頁和顯示頁都 可設(shè)定 。
10.setbdcolor設(shè)置背景色時(shí),對整個(gè)屏幕作用,它不能只改變圖視口內(nèi) 的背景,在用setcolor設(shè)置 前景色時(shí),它對圖視口內(nèi)起作用。若下
?? 一次設(shè)置 的圖視口沒有設(shè)置 顏色,那么上次在另一圖視口設(shè)置的顏色在本次設(shè)置的圖視口內(nèi)起作用。
11.動畫技術(shù):
?????????? (1)動態(tài)開辟圖視口(2)顯示頁與編輯頁交替變化。(3)畫面存儲再重放(用getimage,putimage)(4)直接對圖像動態(tài)存儲器
??????? 進(jìn)行操作的方法:即得用顯示適配器上控制圖像顯示的各種寄 文化部碞和顯示存儲器(VRAM),對其進(jìn)行直接作和控制,從而可以高
??????? 效快速的實(shí)現(xiàn)動畫效果。
12.固定式菜單:程序運(yùn)行一開始就出現(xiàn)在屏幕上的一種菜單,它公存在一次,或始終停留在畫面上,或功能選擇完成后就消失了。
?? 彈出式菜單:僅用在一級深度的選擇中,即在該菜單中選中某菜單后,無需再時(shí)行第二次選擇。無子菜單項(xiàng)。
?? 下拉式菜單:選擇后還要再進(jìn)行選擇。幾個(gè)下拉式菜單可以同時(shí)出現(xiàn)在屏幕上。
13.菜單窗口的設(shè)計(jì):
??????? 1.菜單窗口圖像的存儲和重放
??????? 2.菜單窗口和菜單項(xiàng)的生成
??????? 3.光條的生成
??????? 4.鍵識別
??????? 5.菜單的連接
??????? 6.功能執(zhí)行。
14.設(shè)置VGA12H模式(640*480):
????????????? _AH=00H;?? _AL=0x12;???? geninteupt(0x10);
??? 恢復(fù)VGA的字符顯示模式03H:
??????????????????? _AH=00H;?? _AL=0X03H;? geninteupt(0x10);
總結(jié)
以上是生活随笔為你收集整理的C语言图形界面的编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fedora下校园网上网指南(802.1
- 下一篇: OGame研究说明