c語言是函數(shù)語言,所以畫圖也離不開各種圖形函數(shù):下面舉幾個簡單的例子:
創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設(shè)計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到做網(wǎng)站、網(wǎng)站設(shè)計, 我們的網(wǎng)頁設(shè)計師為您提供的解決方案。
=======================================
1./*學(xué)用circle畫圓形*/
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(driver,mode,"");
setbkcolor(YELLOW);
for(i=0;i=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
getch();
}
2.//line畫直線
#include "graphics.h"
main()
{int driver,mode,i;
float x0,y0,y1,x1;
float j=12,k;
driver=VGA;mode=VGAHI;
initgraph(driver,mode,"");
setbkcolor(GREEN);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i=18;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
j=j+10;
}
x0=263;y1=275;y0=263;
for(i=0;i=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
getch();
}
3.//用rectangle畫方形
#include "graphics.h"
main()
{int x0,y0,y1,x1,driver,mode,i;
driver=VGA;mode=VGAHI;
initgraph(driver,mode,"");
setbkcolor(YELLOW);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i=18;i++)
{
setcolor(1);
rectangle(x0,y0,x1,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
}
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(150,40,"How beautiful it is!");
line(130,60,480,60);
setcolor(2);
circle(269,269,137);
}
===================================
只能在console下畫,這有意義么?為什么不用MFC的LineTo,MoveTo呢
根據(jù)你的編譯器的繪圖函數(shù).
有的有繪
rect
函數(shù),
(參數(shù),4個角點坐標(biāo).
或一個角點坐標(biāo)和長寬值).
那你用循環(huán)語句依次畫長寬相等的矩型.
如果只有畫直線函數(shù).
那你用循環(huán)語句依次調(diào)
MoveTo,
LineTo
按
角點坐標(biāo)
畫直線.
void far bar3d(int x1, int y1, int x2, int y2,int depth,int topflag);當(dāng)
topflag為非0時, 畫出一個三維的長方體。當(dāng)topflag為0時,三維圖形不封頂,
實際上很少這樣使用。
void far setfillstyle(int pattern, int color); color的值是當(dāng)前屏幕圖形
模式時顏色的有效值,SOLID_FILL 1 以實填充
void far floodfill(int x, int y, int border);
其中:x, y為封閉圖形內(nèi)的任意一border為邊界的顏色,也就是封閉圖形輪廓的
顏色。調(diào)用了該函數(shù)后,將用規(guī)定的顏色和圖模填滿整個封閉圖形。
#includestdlib.h
#includegraphics.h
main()
{
int gdriver, gmode;
struct fillsettingstype save;
gdriver=DETECT;
initgraph(gdriver, gmode, "");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,3);
setfillstyle(1,14); /*設(shè)置填充方式*/
bar3d(100,200,400,350,200,1); /*畫長方體并填充*/
floodfill(450,300,LIGHTRED);
/*填充長方體另外兩個面*/
floodfill(250,150, LIGHTRED);
getch();
closegraph();
}
rectangle() 畫矩形函數(shù)
功能: 函數(shù)rectangle() 用當(dāng)前繪圖色、線型及線寬,畫一個給定左上角與右下角的矩形(正方形或長方形)。
用法: 此函數(shù)調(diào)用方式為void rectangle(int left,int top,int right,int bottom);
說明: 參數(shù)left,top是左上角點坐標(biāo),right,bottom是右下角點坐標(biāo)。如果有一個以上角點不在當(dāng)前圖形視口內(nèi),且裁剪標(biāo)志clip設(shè)置的是真(1),那么調(diào)用該函數(shù)后,只有在圖形視口內(nèi)的矩形部分才被畫出。
這個函數(shù)對應(yīng)的頭文件為graphics.h
返回值: 無
例: 下面的程序畫一些矩形實例:
#includegraphics.h
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();
}
可以用簡單的輸出語句printf實現(xiàn):
#include stdio.h
main()
{ printf("*****\n"); /*后面的\n表示換行,不能少了*/
printf("* *\n"); /*星號與星號之間有3個空格*/
printf("* *\n");
printf("* *\n");
printf("*****\n");
}
你也可以用循環(huán)和選擇結(jié)合起來一起做:
#includestdio.h
main()
{ int i,j; /*變量i和j分別用來控制正方形輸出的行數(shù)我列數(shù)*/
for(i=1;i=5;i++)
{ for(j=1;j=5;j++)
{ if(i==1||i==5) /*第一行和第五行輸出連續(xù)的5個*號*/
printf("*");
else {if(j==1||j==5)/*其它行只在第一列和第五列輸出*號*/
printf("*");
else printf(" ");/*否則其它行中間都是空格*/
}
}
printf("\n"); /*每輸出一行換行*/
}
}
用TC畫圖應(yīng)該不會出現(xiàn)上述問題吧,用graphics.h函數(shù)畫圖的基本思想就是利用putpixel(x,y,color)函數(shù)畫點,形成圖形,你再試試看吧!
本文題目:c語言用直線函數(shù)畫正方形 c語言畫直方圖
URL網(wǎng)址:http://jinyejixie.com/article34/hehcpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站排名、全網(wǎng)營銷推廣、靜態(tài)網(wǎng)站、網(wǎng)站制作、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)