国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C語言圖形編程(二、圖形顯示)

2019-11-17 05:41:27
字體:
來源:轉載
供稿:網友
一、確定顯示卡
二、選擇顯示模式  
三、圖形顯示
    20. detectgraph() 顯示卡檢測函數
    21. initgraph() 圖形初始化函數
    22. getdrivername() 獲取圖形驅動程序名的指針
    23. getgraphmode() 獲取圖形模式函數
    24. getmoderange()獲取模式值范圍函數
    25. getmaxmode()獲取最大顯示模式函數
    26. getmodename()獲取顯示模式名函數
    27. graphdefaults()圖形設置復位缺省值函數
    28. setgraphmode() 設置圖形模式函數
    29. restorecrtmode() 恢復文本顯示模式函數
    30. graphresult() 圖形操作結果函數
    31. grpaherrormsg() 圖形錯誤信息函數
    32. setgraphbufsize()設置圖形緩沖區大小函數
    33. setactivepage() 設置可輸出顯示頁函數
    34. setvisualpage() 設置可見顯示頁數
    35. closegraph()關閉圖形模式函數
   




一、確定顯示卡
   微機系統顯示部分由顯示器(monitor)和顯示卡(adapter)兩部分組成。顯示器是獨立于主機的一種外部設備,顯示卡或稱顯示適配卡,也有的稱圖形卡,是插在主機上的一塊電路板。但也有的顯示卡與主機板設計在一起。顯示卡包括寄存器組、存儲器和控制電路三大部分。其中存儲器又包括顯示RAM和ROM BIOS兩部分,微機對顯示屏幕的所有操作都是通過顯示卡來實現的。因此要進行圖形顯示 ,首先要確定計算機上安裝的是何種顯示卡。一種方法是詢問計算機或終端使用者,確定將要使用的顯示卡類型。這種方法很難,因為甚至專業程序員也不總是能確定他正在使用什么樣的硬件。另一種方法是用軟件查詢硬件以識別當前的配置。假如有一些識別硬件的標準,這就很簡單了。在Borland C中對現在所使用的各種顯示卡提供了支持,這只要調用detectgraph()函數就可以了,該函數為程序員確定計算機上使用的顯示卡類型。

二、選擇顯示模式
   顯示模式是指顯示卡支持的分辨率與相應的顏色配置。每臺計算機都配置了某種類型顯示卡,可以為該顯示卡指定顯示模式。

三、圖形顯示
    進行圖形顯示首先要確定顯示卡,然后選擇其顯示模式。這些工作都可以調用圖形功能函數來完成,其實就是把適合于顯示卡的圖形驅動程序裝入內存。假如圖形驅動程序未裝入內存,那么圖形函數就不能操作。

20. detectgraph() 顯示卡檢測函數
功能: 函數detectgraph()在計算機上安裝有顯示卡的情況下,測定其顯示卡的類型。
用法: 此函數調用方式為void detectgraph(int *driver,int *mode);
說明: 函數把driver所指向的整型變量設置為圖形驅動程序的代碼,把mode所指向的整型變量設置為顯示卡支持的最高有效模式(即該顯示卡能支持的最高分辨率)。
   該函數相應的頭文件為graphics.h
返回值: 返回適合于該顯示卡的圖形驅動程序的代碼(也稱等價值),并存放在driver指向的變量中。若計算機系統中無圖形硬件,則由driver指向的變量設置為-2。
例: 檢測計算機是否裝有顯示卡:
   int driver,mode;
   detectgraph(&driver,&mode);
   if(driver==-2)
   {
            exit(1);
   }

21. initgraph() 圖形初始化函數
功能: 函數initgraph()用于初始化圖形系統,把適合的圖形驅動程序裝入內存,設置圖形函數所用的顯示模式。
用法: 該函數調用方式為void initgraph(int *driver,int *mode,char *path);
說明: 1) 函數中參數driver指向圖形驅動程序(或者等價值)。
   在頭部文件graphics.h中定義了圖形驅動程序的宏名與其等價 ,如下:
宏   名              等價值
------------------------------
DETECT                  0
CGA                     1
MCGA                    2
EGA                     3
EGA64                   4
EGAMONO                 5
IBM8514                 6
HERCMONO                7
ATT400                  8
VGA                     9
PC3270                 10
--------------------------------

注:在現在的計算機中,上表中的許多顯示卡已經過時,不再使用。

這樣就不必擔心圖形驅動程序的準確名字,而只要用其等價值即可,若使用detect(即等價值0)時,initgraph()函數自動檢測當前計算機中裝有的顯示卡類型,并且選用最大分辨率的顯示模式。
2)參數mode指向顯示模式或用等價值(風表1-5),mode所指的值必須是有效模式之一。
3)參數path指向圖形驅動程序所在的路徑,例如path="C:/TC/BG1".若沒有指定路徑,就在當前目錄下尋找。
   一般圖形驅動程序包含在.BGI文件中,這些文件是系統可以得到的。這個函數對應的頭文件是graphics.h。
返回值: 無
例: 調用initgraph()自動檢測硬件圖形系統,并選用最大分辨率顯示模式。
   init drver,mode;
   driver=DETECT;
   mode=0;
   initgraph(&driver,&mode,"");

22. getdrivername() 獲取圖形驅動程序名的指針
功能: 函數getdrivername()返回指向當前圖形驅動程序名的指針。
用法: 此函數調用方式為char *getdrivername(void);
說明: 本函數可以用來檢測顯示卡,但只能在initgraph()設置圖形驅動程序和顯示模式之后調用。
   該函數相應的頭文件為graphics.h
返回值: 返回一指針,指向含有當前圖形驅動程序名的字符串。
例: 顯示當前圖形驅動程序名:
   #include<graphics.h>
   #include<stdio.h>
   void main()
   {
      int graphdriver=DETECT,graphmode;
      char *s;
      initgraph(&graphdriver,&graphmode,"");
      s=getdrivername();
      outtext("Using driver:");
      outtext(s);
      getch();
      closegraph();
   }

23. getgraphmode() 獲取圖形模式函數
功能: 函數getgrapgmode()返回當前圖形模式。
用法: 該函數調用方式為int getgraphmode(void);
說明: getgraphmode()函數無參數調用。
      這個函數對應的頭文件是graphics.h
返回值: 返回initgraph()或setgraphmode()所設置的當前圖形模式值。
例: 顯示當前圖形模式的代碼:
   printf("graphics mode is %d",getgraphmode());

24. getmoderange()獲取模式值范圍函數
功能: 函數getmoderange()返回指定的圖形驅動程序能夠支持的最低和最高模式值。
用法: 函數調用方式為 void


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彝良县| 天峻县| 辉县市| 十堰市| 洛阳市| 曲沃县| 阜新| 郯城县| 临武县| 安多县| 望谟县| 乌兰县| 米易县| 谢通门县| 漠河县| 遵化市| 陆良县| 龙岩市| 鄂温| 武威市| 睢宁县| 鸡东县| 长宁区| 淮阳县| 巫溪县| 印江| 惠水县| 中山市| 龙门县| 华阴市| 若羌县| 鄂托克前旗| 开封县| 微博| 武隆县| 宽城| 石渠县| 博客| 且末县| 当阳市| 许昌市|