亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? +?

?? c_c++技巧集.zip
??
字號:
作者:hooke
日期:2000-9-24 21:46:13
圖形函數 
    Turbo C提供了非常豐富的圖形函數, 所有圖形函數的原型均在graphics. h 
中, 本節主要介紹圖形模式的初始化、獨立圖形程序的建立、基本圖形功能、圖 
形窗口以及圖形模式下的文本輸出等函數。另外, 使用圖形函數時要確保有顯示 
器圖形驅動程序*BGI, 同時將集成開發環境Options/Linker中的Graphics lib選 
為on, 只有這樣才能保證正確使用圖形函數。 
    1. 圖形模式的初始化 
    不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器, 在不同 
模式下也有不同分辨率。因此, 在屏幕作圖之前, 必須根據顯示器適配器種類將 
顯示器設置成為某種圖形模式, 在未設置圖形模式之前, 微機系統默認屏幕為文 
本模式(80列, 25行字符模式), 此時所有圖形函數均不能工作。設置屏幕為圖形 
模式, 可用下列圖形初始化函數: 
     void far initgraph(int far *gdriver, int far *gmode, char *path); 
    其中gdriver和gmode分別表示圖形驅動器和模式, path是指圖形驅動程序所 
在的目錄路徑。有關圖形驅動器、圖形模式的符號常數及對應的分辨率見表2。 
    圖形驅動程序由Turbo C出版商提供, 文件擴展名為.BGI。根據不同的圖形 
適配器有不同的圖形驅動程序。例如對于EGA、 VGA 圖形適配器就調用驅動程序 
EGAVGA.BGI。 

               表2. 圖形驅動器、模式的符號常數及數值 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
     圖形驅動器(gdriver)          圖形模式(gmode) 
   ───────────     ───────────    色調  分辨率 
    符號常數    數值           符號常數     數值 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    CGA          1            CGAC0           0          C0   320*200 
                              CGAC1           1          C1   320*200 
                              CGAC2           2          C2   320*200 
                              CGAC3           3          C3   320*200 
                              CGAHI           4          2色  640*200 
─────────────────────────────────── 
    MCGA         2            MCGAC0          0          C0   320*200 
                              MCGAC1          1          C1   320*200 
                              MCGAC2          2          C2   320*200 
                              MCGAC3          3          C3   320*200 
                              MCGAMED         4          2色  640*200 
                              MCGAHI          5          2色  640*480 
─────────────────────────────────── 
    EGA          3            EGALO           0         16色  640*200 
                              EGAHI           1         16色  640*350 
─────────────────────────────────── 
    EGA64        4            EGA64LO         0         16色  640*200 
                              EGA64HI         1          4色  640*350 
─────────────────────────────────── 
    EGAMON       5            EGAMONHI        0          2色  640*350 
─────────────────────────────────── 
    IBM8514      6            IBM8514LO       0        256色  640*480 
                              IBM8514HI       1        256色 1024*768 
─────────────────────────────────── 
    HERC         7            HERCMONOHI      0          2色  720*348 
─────────────────────────────────── 
    ATT400       8            ATT400C0        0          C0   320*200 
                              ATT400C1        1          C1   320*200 
                              ATT400C2        2          C2   320*200 
                              ATT400C3        3          C3   320*200 
                              ATT400MED       4          2色  320*200 
                              ATT400HI        5          2色  320*200 
─────────────────────────────────── 
    VGA          9            VGALO           0         16色  640*200 
                              VGAMED          1         16色  640*350 
                              VGAHI           2         16色  640*480 
─────────────────────────────────── 
    PC3270       10           PC3270HI        0          2色  720*350 
─────────────────────────────────── 
    DETECT       0            用于硬件測試 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

    例4. 使用圖形初始化函數設置VGA高分辨率圖形模式 
     #include <graphics.h> 
     int main() 
     { 
          int gdriver, gmode; 
          gdriver=VGA; 
          gmode=VGAHI; 
          initgraph(&gdriver, &gmode, "c:\\tc"); 
          bar3d(100, 100, 300, 250, 50, 1);       /*畫一長方體*/ 
          getch(); 
          closegraph(); 
          return 0; 
     } 

    有時編程者并不知道所用的圖形顯示器適配器種類, 或者需要將編寫的程序 
用于不同圖形驅動器, Turbo C提供了一個自動檢測顯示器硬件的函數,  其調用 
格式為: 
     void far detectgraph(int *gdriver, *gmode); 
    其中gdriver和gmode的意義與上面相同。 
  
    例5. 自動進行硬件測試后進行圖形初始化 
     #include <graphics.h> 
     int main() 
     { 
          int gdriver, gmode; 
          detectgraph(&gdriver, &gmode);     /*自動測試硬件*/ 
          printf("the graphics driver is %d, mode is %d\n", gdriver, 
                 gmode);       /*輸出測試結果*/ 
          getch(); 
          initgraph(&gdriver, &gmode, "c:\\tc"); 
                               /* 根據測試結果初始化圖形*/ 
          bar3d(10, 10, 130, 250, 20, 1); 
          getch(); 
          closegraph(); 
          return 0; 
      } 

    上例程序中先對圖形顯示器自動檢測, 然后再用圖形初始化函數進行初始化 
設置, 但Turbo C提供了一種更簡單的方法,  即用gdriver= DETECT 語句后再跟 
initgraph()函數就行了。采用這種方法后, 上例可改為: 
  
    例6. 
     #include <graphics.h> 
     int main() 
     { 
          int gdriver=DETECT, gmode; 
          initgraph(&gdriver, &gmode, "c:\\tc"); 
          bar3d(50, 50, 150, 30, 1); 
          getch(); 
          closegraph(); 
          return 0; 
     } 
    另外, Turbo C提供了退出圖形狀態的函數closegraph(), 其調用格式為: 
     void far closegraph(void); 
    調用該函數后可退出圖形狀態而進入文本方式(Turbo C 默認方式), 并釋放 
用于保存圖形驅動程序和字體的系統內存。 

    2. 獨立圖形運行程序的建立 
    Turbo C對于用initgraph()函數直接進行的圖形初始化程序, 在編譯和鏈接 
時并沒有將相應的驅動程序(*.BGI)裝入到執行程序, 當程序進行到intitgraph() 
語句時, 再從該函數中第三個形式參數char *path中所規定的路徑中去找相應的 
驅動程序。若沒有驅動程序, 則在C:\TC中去找, 如C:\TC中仍沒有或TC不存在, 
將會出現錯誤: 
     BGI Error: Graphics not initialized (use 'initgraph') 
    因此, 為了使用方便, 應該建立一個不需要驅動程序就能獨立運行的可執行 
圖形程序,Turbo C中規定用下述步驟(這里以EGA、VGA顯示器為例): 
    1. 在C:\TC子目錄下輸入命令:BGIOBJ EGAVGA 
    此命令將驅動程序EGAVGA.BGI轉換成EGAVGA.OBJ的目標文件。 
    2. 在C:\TC子目錄下輸入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA 
    此命令的意思是將EGAVGA.OBJ的目標模塊裝到GRAPHICS.LIB庫文件中。 
    3. 在程序中initgraph()函數調用之前加上一句: 
       registerbgidriver(EGAVGA_driver): 
該函數告訴連接程序在連接時把EGAVGA的驅動程序裝入到用戶的執行程序中。 
    經過上面處理,編譯鏈接后的執行程序可在任何目錄或其它兼容機上運行。 
假設已作了前兩個步驟,若再向例6中加 registerbgidriver()函數則變成: 
    例7: 
     #include<stdio.h> 
     #include<graphics.h> 
     int main() 
     { 
         int gdriver=DETECT,gmode; 
         registerbgidriver(EGAVGA_driver):  / *建立獨立圖形運行程序 */ 
         initgraph( gdriver, gmode,"c:\\tc"); 
         bar3d(50,50,250,150,20,1); 
         getch(); 
         closegraph(); 
         return 0; 
     } 
    上例編譯鏈接后產生的執行程序可獨立運行。 
    如不初始化成EGA或CGA分辨率, 而想初始化為CGA分辨率,  則只需要將上述 
步驟中有EGAVGA的地方用CGA代替即可。 

    3.屏幕顏色的設置和清屏函數 
    對于圖形模式的屏幕顏色設置, 同樣分為背景色的設置和前景色的設置。在 
Turbo C中分別用下面兩個函數。 
    設置背景色:        void far setbkcolor( int color); 
    設置作圖色:        void far setcolor(int color); 
    其中color 為圖形方式下顏色的規定數值, 對EGA, VGA顯示器適配器, 有關 
顏色的符號常數及數值見下表所示。 
                表3 有關屏幕顏色的符號常數表 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
  符號常數      數值     含義           符號常數      數值     含義 
─────────────────────────────────── 
  BLACK          0       黑色           DARKGRAY       8       深灰 
  BLUE           1       蘭色           LIGHTBLUE      9       深蘭 
  GREEN          2       綠色           LIGHTGREEN     10      淡綠 
  CYAN           3       青色           LIGHTCYAN      11      淡青 
  RED            4       紅色           LIGHTRED       12      淡紅 
  MAGENTA        5       洋紅           LIGHTMAGENTA   13      淡洋紅 
  BROWN          6       棕色           YELLOW         14      黃色 
  LIGHTGRAY      7       淡灰           WHITE          15      白色 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    對于CGA適配器, 背景色可以為表3中16種顏色的一種, 但前景色依賴于不同 
的調色板。共有四種調色板, 每種調色板上有四種顏色可供選擇。不同調色板所 
對應的原色見表4。 
               表4 CGA調色板與顏色值表 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
       調色板                               顏色值 
───────────       ────────────────── 
  符號常數    數值              0         1         2         3 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
      C0       0               背景       綠        紅        黃 
      C1       1               背景       青       洋紅       白 
      C2       2               背景      淡綠      淡紅       黃 
      C3       3               背景      淡青     淡洋紅      白 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

    清除圖形屏幕內容使用清屏函數, 其調用格式如下: 
     voide far cleardevice(void); 
    有關顏色設置、清屏函數的使用請看例8。 
    例8: 
     #include<stdio.h> 
     #include<graphics.h> 
     int main() 
     { 
          int gdriver, gmode, i; 
          gdriver=DETECT; 
          registerbgidriver(EGAVGA_DRIVER);/*建立獨立圖形運行程序*/ 
          initgraph(&gdriver, &gmode", "");/*圖形初始化*/ 
          setbkcolor(0);                   /*設置圖形背景*/ 
          cleardevice(); 
          for(i=0; i<=15; i++) 
          { 
            setcolor(i);                   /*設置不同作圖色*/ 
            circle(320, 240, 20+i*10);     /*畫半徑不同的圓*/ 
            delay(100);                    /*延遲100毫秒*/ 
          } 
          for(i=0; i<=15; i++) 
          { 
             setbkcolor(i);                /*設置不同背景色*/ 
             cleardevice(); 
             circle(320, 240, 20+i*10); 
             delay(100); 
          } 
          closegraph(); 
          return 0; 
     } 

    另外, TURBO C也提供了幾個獲得現行顏色設置情況的函數。 
    int far getbkcolor(void);      返回現行背景顏色值。 
    int far getcolor(void);        返回現行作圖顏色值。 
    int far getmaxcolor(void);     返回最高可用的顏色值。 

    4. 基本圖形函數 
    基本圖形函數包括畫點, 線以及其它一些基本圖形的函數。本節對這些函數 
作一全面的介紹。 

    一、畫點 
    1. 畫點函數 
     void far putpixel(int x, int y, int color); 
    該函數表示有指定的象元畫一個按color所確定顏色的點。對于顏色color的 
值可從表3中獲得而對x, y是指圖形象元的坐標。 
    在圖形模式下, 是按象元來定義坐標的。對VGA適配器,  它的最高分辨率為 
640x480, 其中640為整個屏幕從左到右所有象元的個數, 480 為整個屏幕從上到 
下所有象元的個數。屏幕的左上角坐標為(0, 0), 右下角坐標為(639, 479), 水 
平方向從左到右為x軸正向, 垂直方向從上到下為y軸正向。TURBO C 的圖形函數 
都是相對于圖形屏幕坐標, 即象元來說的。 
    關于點的另外一個函數是: 
     int far getpixel(int x, int y); 
    它獲得當前點(x, y)的顏色值。 

    2. 有關坐標位置的函數 

     int far getmaxx(void); 
    返回x軸的最大值。 

     int far getmaxy(void); 
    返回y軸的最大值。 

     int far getx(void); 
    返回游標在x軸的位置。 

     void far gety(void); 
    返回游標有y軸的位置。 

     void far moveto(int x, int y); 
    移動游標到(x, y)點, 不是畫點, 在移動過程中亦畫點。 

     void far moverel(int dx, int dy); 
    移動游標從現行位置(x, y)移動到(x+dx, y+dy)的位置, 移動過程中不畫點。 
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久一二三区| 欧美日韩国产在线播放网站| 免费美女久久99| 紧缚捆绑精品一区二区| 成人国产精品免费观看动漫| 一本色道久久综合精品竹菊| 欧美日本在线视频| 中文字幕精品—区二区四季| 亚洲成人福利片| 高清国产一区二区| 色婷婷综合激情| 久久综合色综合88| 亚洲欧美视频一区| 91国产成人在线| 中文字幕av一区 二区| 日日夜夜精品视频天天综合网| av在线不卡免费看| 国产午夜精品理论片a级大结局 | 中文字幕人成不卡一区| 久久国产精品99久久久久久老狼| 欧美日韩一区不卡| 亚洲夂夂婷婷色拍ww47 | 国产麻豆精品一区二区| 91精品国产91综合久久蜜臀| 亚洲一区二区偷拍精品| 色哟哟一区二区在线观看| 国产欧美日韩不卡免费| 国产精品亚洲а∨天堂免在线| 精品国产第一区二区三区观看体验| 免费高清在线一区| 欧美一级搡bbbb搡bbbb| 青青草成人在线观看| 69久久夜色精品国产69蝌蚪网| 亚洲狠狠爱一区二区三区| 91福利国产精品| 亚洲国产中文字幕在线视频综合 | 一区二区三区在线观看视频| 99热精品国产| 亚洲一区二区欧美日韩| 欧美日韩国产不卡| 麻豆精品蜜桃视频网站| 久久综合久色欧美综合狠狠| 国产精品一区免费视频| 国产欧美精品日韩区二区麻豆天美 | 国产剧情一区二区三区| 欧美xxxxx牲另类人与| 狠狠色综合日日| 中国av一区二区三区| 99久久夜色精品国产网站| 亚洲品质自拍视频| 欧美日韩你懂得| 久久激情五月激情| 国产日韩欧美精品一区| 色视频成人在线观看免| 亚洲sss视频在线视频| 日韩精品专区在线| 不卡的电视剧免费网站有什么| 国产精品成人免费在线| 欧美伊人精品成人久久综合97| 久久精品国产**网站演员| 26uuu国产日韩综合| 白白色亚洲国产精品| 亚洲不卡在线观看| 久久免费的精品国产v∧| 色妞www精品视频| 精品一区中文字幕| 亚洲私人黄色宅男| 精品少妇一区二区三区日产乱码| 99天天综合性| 奇米精品一区二区三区四区| 中文字幕中文字幕中文字幕亚洲无线| 一本久道久久综合中文字幕| 开心九九激情九九欧美日韩精美视频电影 | 在线91免费看| 成人黄色a**站在线观看| 午夜电影久久久| 国产嫩草影院久久久久| 欧美一区中文字幕| 91性感美女视频| 精品在线观看视频| 亚洲一区二区五区| 国产精品国模大尺度视频| 91精品国产综合久久久蜜臀粉嫩| 国产成a人无v码亚洲福利| 午夜精品免费在线| 亚洲丝袜制服诱惑| 国产亚洲精品aa| 日韩欧美二区三区| 欧美日韩另类一区| 一本色道久久综合亚洲精品按摩| 国产老妇另类xxxxx| 日韩福利电影在线| 亚洲精品成a人| 欧美激情自拍偷拍| 精品国产人成亚洲区| 欧美日韩国产精品成人| 色综合咪咪久久| 成人免费av资源| 国产一区二区电影| 国产又黄又大久久| 日本亚洲免费观看| 亚洲午夜激情av| 一区二区在线观看免费视频播放 | 亚洲综合一二区| 综合色中文字幕| 国产精品嫩草影院av蜜臀| 久久久久久夜精品精品免费| 日韩欧美一级精品久久| 欧美一级高清大全免费观看| 欧美三级资源在线| 欧美日韩dvd在线观看| 欧美日韩亚洲高清一区二区| 欧美性色黄大片| 欧美日韩亚洲综合在线| 欧美视频日韩视频| 欧美性猛片aaaaaaa做受| 在线免费观看一区| 欧美亚洲另类激情小说| 色嗨嗨av一区二区三区| 欧洲精品一区二区| 欧美日韩一本到| 日韩写真欧美这视频| 欧美xxxx老人做受| 久久精品视频网| 国产精品网站在线| 中文字幕色av一区二区三区| 中文字幕亚洲不卡| 亚洲一区二区三区四区五区黄| 亚洲一二三专区| 欧美aaaaa成人免费观看视频| 久久精品国产精品亚洲综合| 国产一本一道久久香蕉| 不卡av在线网| 在线这里只有精品| 欧美一区二区三区影视| 欧美xxxxx牲另类人与| 欧美国产日韩亚洲一区| 亚洲人123区| 日本中文一区二区三区| 国产成人午夜高潮毛片| 成人小视频在线| 欧美在线999| 日韩欧美一区在线观看| 国产欧美日韩亚州综合| 亚洲大片精品永久免费| 久久国产生活片100| 国产**成人网毛片九色 | av一区二区三区在线| 欧美日韩免费电影| 国产午夜精品一区二区三区四区| 亚洲三级理论片| 国产在线国偷精品产拍免费yy| 成人性生交大片| 91精品国产麻豆| 亚洲视频在线观看三级| 日本成人中文字幕| 不卡的av电影| 日韩精品一区二区三区四区视频| 中文字幕欧美一| 精品影视av免费| 欧美丝袜丝交足nylons图片| 久久亚洲影视婷婷| 亚洲成人av电影| 99九九99九九九视频精品| 7777精品伊人久久久大香线蕉的| 欧美高清在线一区| 久久国产精品第一页| 欧美在线观看视频一区二区三区| 精品理论电影在线观看 | 欧美猛男男办公室激情| 国产精品国产自产拍在线| 久久国产日韩欧美精品| 在线中文字幕不卡| 国产精品护士白丝一区av| 经典三级一区二区| 欧美日韩高清在线播放| 亚洲欧美日韩人成在线播放| 激情国产一区二区 | 欧美日韩一区久久| 国产精品网站在线观看| 精品一区二区在线视频| 欧美日韩国产在线播放网站| 亚洲免费观看在线观看| 成人午夜视频福利| 久久蜜臀中文字幕| 精品一区二区三区免费视频| 这里只有精品99re| 亚洲成人在线免费| 在线影视一区二区三区| 亚洲三级在线观看| 91热门视频在线观看| 中文字幕不卡一区| 不卡视频一二三四| 国产精品美女久久久久久久久久久| 国产在线视频不卡二| 欧美成人精品高清在线播放| 日韩影院在线观看| 日韩午夜av电影| 黄一区二区三区| 国产亚洲一区二区三区四区|