c语言坐标画图,C语言中绘图的函数库
《C語言中繪圖的函數(shù)庫》由會員分享,可在線閱讀,更多相關《C語言中繪圖的函數(shù)庫(17頁珍藏版)》請在人人文庫網(wǎng)上搜索。
1、可編輯C語言中繪圖的函數(shù)庫圖形和圖像函數(shù)包含在graphics.h里面 (一) 像素函數(shù) 56. putpiel() 畫像素點函數(shù) 57. getpixel()返回像素色函數(shù) (二) 直線和線型函數(shù) 58. line() 畫線函數(shù) 59. lineto() 畫線函數(shù) 60. linerel() 相對畫線函數(shù) 61. setlinestyle() 設置線型函數(shù) 62. getlinesettings() 獲取線型設置函數(shù) 63. setwritemode() 設置畫線模式函數(shù) (三)、多邊形函數(shù) 64. rectangle() 畫矩形函數(shù) 65. bar() 畫條函數(shù) 66. bar3d() 畫。
2、條塊函數(shù) 67. drawpoly() 畫多邊形函數(shù) (四)、 圓、弧和曲線函數(shù) 68. getaspectratio()獲取縱橫比函數(shù) 69. circle()畫圓函數(shù) 70. arc() 畫圓弧函數(shù) 71. ellipse()畫橢圓弧函數(shù) 72. fillellipse() 畫橢圓區(qū)函數(shù) 73. pieslice() 畫扇區(qū)函數(shù) 74. sector() 畫橢圓扇區(qū)函數(shù) 75. getarccoords()獲取圓弧坐標函數(shù) (一) 像素函數(shù) 56. putpixel() 畫像素點函數(shù) 功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫一個像素點。 用法: 函數(shù)調用方式為void put。
3、pixel(int x,int y,int color); 說明: 參數(shù)x,y為像素點的坐標,color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。 此函數(shù)相應的頭文件是graphics.h 返回值: 無 例: 在屏幕上(6,8)處畫一個紅色像素點: putpixel(6,8,RED); (二) 直線和線型函數(shù) 有三個畫直線的函數(shù),即line(),lineto(),linerel()。這些直線使用整型坐標,并相對于當前圖形視口,但不一定受視口限制,如果視口裁剪標志clip為真,那么直線將受到視口邊緣截斷;如果clip為假,即使終點坐標或新的當前位置在圖形視口或屏幕極限之外,直線截。
4、斷到屏幕極限。 有兩種線寬及幾種線型可供選擇,也可以自己定義線圖樣。下面分別介紹直線和線型函數(shù)。 58. line() 畫線函數(shù) 功能: 函數(shù)line()使用當前繪圖色、線型及線寬,在給定的兩點間畫一直線。 用法: 該函數(shù)調用方式為void line(int startx,int starty,int endx,int endy); 說明: 參數(shù)startx,starty為起點坐標,endx,endy為終點坐標,函數(shù)調用前后,圖形狀態(tài)下屏幕光標(一般不可見)當前位置不改變。 此函數(shù)相應的頭文件為graphics.h 返回值: 無 例: 見函數(shù)60.linerel()中的實例。 59. line。
5、to() 畫線函數(shù) 功能: 函數(shù)lineto()使用當前繪圖色、線型及線寬,從當前位置畫一直線到指定位置。 用法: 此函數(shù)調用方式為void lineto(int x,int y); 說明: 參數(shù)x,y為指定點的坐標,函數(shù)調用后,當前位置改變到指定點(x,y)。 該函數(shù)對應的頭文件為graphics.h 返回值: 無 例: 見函數(shù)60.linerel()中的實例。 60.linerel() 相對畫線函數(shù) 功能: 函數(shù)linerel() 使用當前繪圖色、線型及線寬,從當前位置開始,按指定的水平和垂直偏移距離畫一直線。 用法: 這個函數(shù)調用方式為void linerel(int dx,int dy。
6、); 說明: 參數(shù)dx,dy分別是水平偏移距離和垂直偏移距離。 函數(shù)調用后,當前位置變?yōu)樵黾悠凭嚯x后的位置,例如,原來的位置是(8,6),調用函數(shù)linerel(10,18)后,當前位置為(18,24)。 返回值:無 例: 下面的程序為畫線函數(shù)調用實例: i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(15); line(66,66,88,88); lineto(100,100); linerel(36,64); getch(); restorec。
7、rtmode(); 61. setlinestyle() 設置線型函數(shù) 功能: setlinestyle() 為畫線函數(shù)設置當前線型,包括線型、線圖樣和線寬。 用法: setlinestyle() 函數(shù)調用方式為void setlinestyle(int stly,unsigned pattern,int width); 說明: 參數(shù)style為線型取值,也可以用相應名稱表示,如表1-10中所示。 參數(shù)pattern用于自定義線圖樣,它是16位(bit)字,只有當style=USERBIT_LINE(值為1)時,pattern的值才有意義,使用用戶自定義線圖樣,與圖樣中“1”位對應的像素顯示,。
8、因此,pattern=0xFFFF,則畫實線;pattern=0x9999,則畫每隔兩個像素交替顯示的虛線,如果要畫長虛線,那么pattern的值可為0xFF00和0xF00F,當style不為USERBIT_LINE值時,雖然pattern的值不起作用,但扔須為它提供一個值,一般取為0。 參數(shù)wigth用來設定線寬,其取值見表1-11,表中給出了兩個值,即1和3,實際上,線寬取值為2也是可以接受的。 若用非法參數(shù)調用setlinestyle()函數(shù),那么graphresult()會返回錯誤代碼,并且當前線型繼續(xù)有效。 Turbo C提供的線型與線寬定義在頭文件graphics.h中,表1-1。
9、0和1-11分別列出了參數(shù)的取值與含義。 表1-10 線型 - 名 稱 取 值 含 義 - SOLID_LINE 0 實線 DOTTED_LINE 1 點線 CNTER_LINE 2 中心線 DASHED_LINE 3 虛線 USERBIT_LINE 4 用戶自定義線型 - 表1-11 線寬 - 名 稱 取 值 說 明 - NORM_WIDTH(常寬) 1 一個像素寬(缺省值) THICK_WIDTH(加寬) 3 三個像素寬 - 這個函數(shù)的頭文件是graphics.h 返回值: 無 例: 下面的程序顯示了BC中所提供的線型圖樣: i nclude void main() int driver,。
10、mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); for(i=0;i void main() int driver,mode; driver=DETECT; mode=0; initgrpah(&driver,&mode,); rectangle(80,80,220,200); rectangle(140,99,180,300); rectangle(6,6,88,88); rectangle(168,72,260,360); getch(); restorecrtmode(); 65. bar() 畫條函數(shù) 功能: 函數(shù)bar()。
11、用當前填充圖樣和填充色(注意不是給圖色)畫出一個指定上左上角與右下角的實心長條形(長方塊或正方塊),但沒有四條邊線)。 用法: bar()函數(shù)調用方式為void bar(int left,int top,int right,int bottom); 說明: 參數(shù)left,topright,bottom分別為左上角坐標與右下角坐標,它們和調用函數(shù)rectangle()的情形相同,調用此函數(shù)前,可用setfillstyle()或setfillpattern()設置當前填充圖樣和填充色。 注意此函數(shù)只畫沒有邊線的條形,如果要畫有邊線的的條形,可調用下面的函數(shù)bar3d()來畫,并將深度參數(shù)設為0,同。
12、時topflag參數(shù)要設置為真,否則該條形無頂邊線。 這 應的頭文件為graphics.h 返回值: 無 例: 見函數(shù)bar3d()中的實例。 66.bar3d() 畫條塊函數(shù) 功能: 函數(shù)bar3d() 使用當前繪圖色、線型及線寬畫出三維長方形條塊,并用當前填充圖樣和填 充色填充該三維條塊的表面。 用法: 此函數(shù)調用方式為void bar3d(int left,int top,int right,int bottom,int depth,int topflag); 說明: 參數(shù)left,top,right,bottom分另為左上角與右下角坐標,這與bar()函數(shù)中的一樣。參數(shù)depth為條塊。
13、的深度,以像素為單位,通常按寬度的四分之一計算。深度方向通過屏顯縱橫比調節(jié)為約45度(即這時x/y比設置為1:1)。 參數(shù)topflag相當于一個布爾參數(shù),如果設置為1(真)那么條塊上放一頂面;若設置為0(假),則三維條形就沒有頂面,這樣可使多個三維條形疊加在一起。 要使圖形更加美觀,可利用函數(shù)floodfill()或setfillpattern()來選擇填充圖樣和填充色(參見本小節(jié)(五)填充函數(shù) )。 bar3d()函數(shù)對應的頭文件為graphics.h 返回值: 無 例: 下面的程序畫一個條形和條塊: i nclude void main() int driver,mode; driver。
14、=DETECT; mode=0; initgraph(&driver,&mode,); setfillstyle(SOLID-FILL,GREEN); bar(60,80,220,160); setfillstyle(SOLID-FILL,RED); bar3d(260,180,360,240,20,1); getch(); restorecrtmode(); (四)、 圓、弧和曲線函數(shù) 在一個屏幕上畫得很圓的圖形到另一個屏幕上可能被壓扁或拉長,這是因為每一種顯示卡與之相應的顯示模式都有一個縱橫比??v橫比是指像素的水平方向大小與垂直方向大小的比值。如VGA顯示卡由于偈素基本上是正方形,所以縱橫。
15、比為1.000。 為了保證幾何圖形基本按預計情況顯示在屏幕上,用屏顯的縱橫比來計算和糾正不同硬件及顯示卡產(chǎn)生的畸變。計算縱橫比所需要的水平方向和垂直方向的比例系數(shù)可調用函數(shù)getaspectratio()獲得。 69. circle()畫圓函數(shù) 功能: 函數(shù)circle()使用當前繪圖色并以實線畫一個完整的圓。 用法:該函數(shù)調用方式為void circle(int x,int y,int radius); 說明: 參數(shù)x,y為圓心坐標,radius為圓半徑,用像素個素表示。注意,調用circle()函數(shù)畫圓時不用當前線型。 不同于ellipse()函數(shù),只用單個半徑radius參數(shù)調用circ。
16、le()函數(shù),故屏顯縱橫比可以自動調節(jié),以產(chǎn)生正確的顯示圖。 此函數(shù)對應的頭文件為graphics.h 返回值: 無 例: 畫六個同心圓,圓心在(100,100)。 i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); circle(100,100,10); circle(100,100,20); circle(100,100,30); circle(100,100,40); circle(100,100,50); circle(100,100,60); getch(); 。
17、restorecrtmode(); 70. arc() 畫圓弧函數(shù) 功能: 函數(shù)arc()使用當前繪圖色并以實線畫一圓弧。 用法: 函數(shù)調用方式為void arc(int x,int y,int startangle,int endangle,int radius); 說明: 參數(shù)x,y為圓心坐標,startangle與endangle分別為起始角與終止角,radius為半徑。圓心坐標和半徑以像素個數(shù)給出,起始角和終止角以度為單位,0度位于右邊,90度位于頂部,180度位于左邊,底部是270度。同往常一樣,360度與0度重合。角度按逆時針方向增加,但并不要求終止角一定比起始角大。例如指定300。
18、度和90度分別為起始角和終止角,與指定300度和450度分別為起始角和終止角可畫出相同的弧。大于360度可作為參數(shù),它將被化到0度360度范圍里。函數(shù)arc()能畫封閉圓,只要取起始角為0度,終止角為360度即可。此函數(shù)中,屏顯縱橫比可自動調節(jié)。 arc()函數(shù)對應的頭文件為graphics.h 返回值: 無 例: 以(200,200)為圓心,100為半徑,從0度到120度畫圓弧: i ncludevoid main()int driver,mode;int i;driver=DETECT;mode=0;initgraph(&driver,&mode,);moveto(0,200);for(i=0;i16;i+)setcolor(i);linerel(20,0);getch();restorecrtmode();44、restorecrtmode(); 復原函數(shù)精品文檔。
總結
以上是生活随笔為你收集整理的c语言坐标画图,C语言中绘图的函数库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H3CNE认证
- 下一篇: Ubuntu下安装nfs服务