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