
C語言中的圖形
C語言中的圖形
我們會限制我們討論 C語言中的圖形到16位C編程和MS DOS環境。 在C程序首先你需要初始化圖形驅動程序在計算機上。 這是使用方法的initgraph提供graphics.h庫。 在接下來的幾頁中我們將詳細討論 graphics.h庫。 圖書館的重要職能 graphic.h將 discuees細節和方案將提供樣品,以顯示權力的C編程語言。
圖形模式的初始化
首先,我們要調用 initgraph函數,將 intialize圖形模式在計算機上。 initigraph具有以下原型。
無效 initgraph(遠 * graphdriver詮釋,詮釋遠 * graphmode,焦炭遠 * pathtodriver); Initgraph初始化圖形系統通過加載圖形驅動程序從磁盤(或驗證註冊驅動程序),然後把系統進入
圖形 mode.Initgraph還重置所有的圖形設置(顏色,調色板,當前位置,視等),以它們的默認值,然後重置graphresult為 0。
* graphdriver
整數,指定要使用的圖形驅動程序。 你可以給 graphdriver採用恆定值的graphics_drivers枚舉類型。
* graphmode
整數,指定初始圖形模式(除非* graphdriver =檢測)。 如果* graphdriver = DETECT之外,initgraph套* graphmode最高分辨率可檢測到的驅動程序。 你可以給一個值* graphmode採用恆定的graphics_modes枚舉類型。
* pathtodriver
指定的目錄路徑 initgraph查找圖形驅動程序(*. BGI的)第一次。
- 如果他們不存在,initgraph看起來在當前目錄。
- 如果pathtodriver為 null,該驅動程序文件必須在當前目錄中。
* graphdriver和* graphmode必須設置為有效graphics_drivers和graphics_mode值或您將獲得不可預知的結果。 (唯一的例外是graphdriver =檢測。)
後打電話給 initgraph,* graphdriver設置為當前圖形驅動程序,以及* graphmode設置為當前的圖形模式。 你可以告訴 initgraph使用特定的圖形驅動程序和方式,或自動檢測附加的視頻適配器在運行時選擇相應的驅動程序。 如果你告訴 initgraph自動檢測,它調用 detectgraph選擇一個圖形驅動程序和模式。
通常情況下,initgraph加載圖形驅動程序分配內存的驅動程序(通過 _graphgetmem),然後載入適當的。巴克萊國際投資管理文件從 disk.As替代這個充滿活力的裝載方案,您可以鏈接的圖形驅動程序文件(或數個,其中)直接到你的可執行程序文件。
下面是一個示例程序初始化圖形模式在C語言。
#包括<graphics.h> #包括<stdlib.h> #包括<stdio.h> #包括鐨勫 國際主要(無效) ( / *要求自動檢測 * / 詮釋 gdriver = DETECT之外,gmode,錯誤代碼; / *初始化圖形模式* / initgraph(&gdriver和gmode,“”); / *讀取結果初始化* / 錯誤代碼 = graphresult(); 如果(錯誤代碼!=神交)/ * 1出錯 * / ( 輸出(“圖形錯誤:%s \ N”的,grapherrormsg(錯誤代碼)); 輸出(“按任意鍵停止:”); getch(); 出口(1); / *返回錯誤代碼 * / ) / *畫一條線 * / 行(0,0,getmaxx(),getmaxy()); / *清理* / getch(); closegraph(); 返回0; )
圖形編程的C語言是在簡短的討論,提供了以初學者。
/ *示例程序來繪製一個圓 * / #包括<graphics.h> #包括鐨勫 主要() ( 詮釋廣東 = DETECT之外,克; initgraph(&gd的,與通用汽車 ,""); / *初始化圖形模式* / 圓(一五零一五零一零零); getch(); closegraph(); / *還原的一部開拓創新的屏幕模式* / ) / *程序結束 * /
一般情況下,銀幕 ü查看DOS是在文本模式,這意味著它的意思是文字。 而對於圖形 ü需要初始化圖形模式。 而要做到這一點 ü需要包括graphics.h?。
圓(x坐標,y坐標,半徑); 該命令需要一個圈,這意味著 X坐標和Y坐標軸垂直,這意味著橫軸。 而最後一個是圓的半徑。 closegraph();
有了這一功能的屏幕模式將仍留在圖形模式時 ü出來,到DOS u將看到一個不同的屏幕,這不是在文本模式。
/ *一個方案,繪製空間星星* / #包括<graphics.h> 主要() ( 詮釋廣東 = DETECT之外,克; 詮釋我的x,y; initgraph(&gd的,與通用汽車 ,""); 線(0,0,640,0); 線(0,0,0,480); 線(639,0,639,480); 線(639,479,0,479); 對(我= 0;我<= 1000;我+ +) ( x =蘭特()%639; 為 y =蘭特()%480; putpixel(的x,y,15); ) getch(); closegraph(); ) / *程序結束 * /
/ *這裡一個示例程序來說明如何使用鋼筋是用於視覺統計* /#包括<graphics.h>的main()(詮釋廣東= DETECT之外,通用汽車,馬克斯克斯,馬克斯,的x,y,按鈕; initgraph(與廣東,與通用汽車,"");線(八百零一億五千零二十萬零一百五十);線(80,150,80,50); settextstyle(1,HORIZ_DIR,1); outtextxy(100153,“<- X軸”); settextstyle(1,VERT_DIR,1 ); outtextxy(60,50,“<- Y軸”);巴(一○○一○○一二○一五○)巴(一千三百零一億二千零一十五萬零一百五十〇 ); getch(); closegraph();) 頁數:[頁- 1] [頁面- 2] [頁面- 3] [頁面- 4]
有137個評論這一職務。 您可以按照任何反應,此項目通過2.0飼料 。您可以跳過至年底,並留下一個答复或引用從您自己的網站。



































我需要做一個節目,就像一個計算選票的投票制度... ...並計算得分決賽,並顯示它們在數據文本文件...使用類和對象任何人能幫助我...
/ /這是一個零和遊戲交叉(零凱塔)在C + +。
無效 show_game_box();
焦米[3] [3];
無效的主要()
(
詮釋磷,Q有
焦答;
法院“”“\噸 \ tCROSS&諾特遊戲 \ N”的;
做
(
期(p = 1; p <= 3;的p + +)
(
為組(q = 1變 Q <= 3變 Q + +)
(
米[圖] [問與答 ]='';
)
)
詮釋 i和j,總結 = 0;
而(金額 <10)
(
如果(總結 == 0)
show_game_box();
法院“”“\ ñ \ ñ \ nPlayer 1 is'0的文件\ n”;
法院“”“遊戲者1的轉 \ N”的;
法院<>我;
法院<>焦耳;
為(;(我> 3)| |(十<1 )||(' X的==米[i]的研究[J ])||(' 0'==米[i]的研究[J]);)
(
法院“”“對不起,你輸入錯誤的選擇 \ N”的;
法院“”“請輸入您的再次選擇 \ N”的;
法院<>我;
法院<>焦耳;
)
米[i]的研究[J] = '0';
總之 + +;
show_game_box();
如果((米[1] [1] == '0 ')&&(米[1] [1] ==米[1] [2 ])&&(米[1] [1] ==米[1] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[2] [1] == '0 ')&&(米[2] [1] ==米[2] [2 ])&&(米[2] [1] ==米[2] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[3] [1] == '0 ')&&(米[3] [1] ==米[3] [2 ])&&(米[3] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [1] == '0 ')&&(米[1] [1] ==米[2] [2 ])&&(米[1] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [3] == '0 ')&&(米[1] [3] ==米[2] [2 ])&&(米[1] [1] ==米[3] [1]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [1] == '0 ')&&(米[1] [1] ==米[2] [1 ])&&(米[1] [1] ==米[3] [1]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [2] == '0 ')&&(米[1] [2] ==米[2] [2 ])&&(米[1] [2] ==米[3] [2]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [3] == '0 ')&&(米[1] [3] ==米[2] [3 ])&&(米[1] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“1贏得了比賽的球員 \ N”的;
打破;
)
如果(總結 == 9)
(
法院“”“\噸 \ tHURRAY !!!!!遊戲已經結束 \ N”的;
法院“”“\噸 \應用科學研究組織一台WINS \ N”的;
法院“”“這場比賽是畫 \ N”的;
打破;
)
法院“”“\ ñ \ ñ \ nPlayer 2 is'X的文件\ n”;
法院“”“玩家2的轉 \ N”的;
法院<>我;
法院<>焦耳;
為(;(我> 3)| |(十<1 )||(' X的==米[i]的研究[J ])||(' 0'==米[i]的研究[J]);)
(
法院“”“對不起,你輸入錯誤的選擇 \ N”的;
法院“”“請輸入您的再次選擇 \ N”的;
法院<>我;
法院<>焦耳;
)
米[i]的研究[J] =的'X';
總之 + +;
show_game_box();
如果((米[1] [1] ==的'X ')&&(米[1] [1] ==米[1] [2 ])&&(米[1] [1] ==米[1] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[2] [1] ==的'X ')&&(米[2] [1] ==米[2] [2 ])&&(米[2] [1] ==米[2] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[3] [1] ==的'X ')&&(米[3] [1] ==米[3] [2 ])&&(米[3] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [1] ==的'X ')&&(米[1] [1] ==米[2] [2 ])&&(米[1] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [3] ==的'X ')&&(米[1] [3] ==米[2] [2 ])&&(米[1] [1] ==米[3] [1]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [1] ==的'X ')&&(米[1] [1] ==米[2] [1 ])&&(米[1] [1] ==米[3] [1]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [2] ==的'X ')&&(米[1] [2] ==米[2] [2 ])&&(米[1] [2] ==米[3] [2]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果((米[1] [3] ==的'X ')&&(米[1] [3] ==米[2] [3 ])&&(米[1] [1] ==米[3] [3]))
(
法院“”“恭喜!!!!!!!!!! \ N”的;
法院“”“2贏得了比賽的球員 \ N”的;
打破;
)
如果(總結 == 9)
(
法院“”“\噸 \ tHURRAY遊戲已經結束 \ N”的;
法院“”“\噸 \應用科學研究組織一台WINS \ N”的;
法院“”“\噸 \ t加強聯網遊戲繪製 \ N”的;
打破;
)
)
法院<>答;
而)((答=='Ÿ ')||(答=='Ÿ'));
系統(“暫停”);
getch();
)
無效 show_game_box()
(
法院“”“\ ñ 1 2 3 \ N”的<<恩德;
法院“”“1”<<米[1] [1 ]<<"|"<<米[1] [2 ]<<"|"<<米[1] [3] <<恩德;
法院“”“-|-|- \ N”的;
法院“”“2”<<米[2] [1 ]<<"|"<<米[2] [2 ]<<"|"<<米[2] [3] <<恩德;
法院“”“-|-|- \ N”的;
法院“”“3”<<米[3] [1 ]<<"|"<<米[3] [2 ]<<"|"<<米[3] [3] <<“\ ñ \ ñ \ N“的;
)
阿米特Srivastava撰文:
你可以捕獲鼠標移動使用MFC在VC + +以下方式。 創建一個標準的MFC exe文件和文檔查看將有一班進行鼠標事件即OnMouseMove(),OnLButtonDown(),您可以得到在任何位置,鼠標功能。 這兩個函數接受兩個參數(UINT nFlags,口岸系統點)。 而在點對象將鼠標位置(x,y)和你可以讓他們輕鬆。
@拉吉:
你可以在這裡得到一個計算器 progam。
http://www.mycplus.com/free-utilities/scientific-calculator/
@ Gcablay_18:
這裡有教程可以在C + +創建類。
http://www.mycplus.com/tutorials/cplusplus-programming-tutorials/classes-2/
@維內特:
這個函數關閉圖形模式,並返回它的位置是在initgraph函數被調用。 Closegraph功能釋放所有的資源,佔領了圖形系統像memry,字體,司機等...
你可以了解更多有關圖形功能在這裡
http://www.mycplus.com/featured-articles/c-language-graphics-library-reference-part-1/