画4个圆并填充圆环
笑傲心扬吧
全部回复
仅看楼主
level 5
笑傲心扬 楼主
/* WIN-TC BGI 图形编程模板 */
#include "dos.h"#
include "Conio.h"
#include "graphics.h"#
define closegr closegraph#define Locate 200void initgr(void) /* BGI初始化 */{ int gd=DETECT,gm=0; /* 和gd=VGA,gm=VGAHI是同样效果 */ registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */ initgraph(&gd,&gm,"");}void MidpointCircle(int r,int color,int flag){ int x,y,d; x=0; y=r; d=1-r; putpixel(y,x,color-1); while(x
0) { if(d<0) { d+=2*x-2*y+5; x++; y--; } else { d+=3-2*y; y--; } if(flag==0) { putpixel(Locate-x,Locate-y,color); delay(10000); putpixel(Locate+x,Locate-y,color); delay(10000); } else { putpixel(Locate-y,Locate+x,color); delay(10000); putpixel(Locate+y,Locate+x,color); delay(10000); } }}void FillCircle(int color){ int x,y; double d1,d2,d3,d4; for(y=100;y<=120;y++) for(x=100;x<=300;x++) { d1=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-100*100; if(d1<=0) { putpixel(x,y,color); delay(100 ); } } for(y=120;y<=150;y++) for(x=100;x<=300;x++) { d2=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-80*80; d1=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-100*100; if(d1<=0&&d2>=0) { putpixel(x,y,color); delay(100); } } for(y=150;y<=250;y++) for(x=100;x<=300;x++) { d2=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-80*80; d1=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-100*100; d3=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-50*50; d4=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-25*25; if((d1<=0&&d2>=0)||(d3<=0&&d4>=0)) { putpixel(x,y,color); delay(100); } } for(y=250;y<=280;y++) for(x=100;x<=300;x++) { d2=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-80*80; d1=(x-Locate)*(x-Locate)+(y-Locate)*(y-Locate)-100*100; if(d1<=0&&d2>=0) { putpixel(x,y,color); delay(100); } } for(y=280;y<=300;y++) for(x=100;x<=300;x++) { d1=(x-Locate)*(x-Locate)+(y-Locate)*(y-200)-100*100; if(d1<=0) { putpixel(x,y,color); delay(100); } }}void main(){initgr(); /* BGI初始化 */printf("计算0512 2005810049 ");MidpointCircle(25,1,0);MidpointCircle(25,1,1);MidpointCircle(50,2,0);MidpointCircle(50,2,1);MidpointCircle(80,3,0);MidpointCircle(80,3,1);MidpointCircle(100,4,0);MidpointCircle(100,4,1);getch();FillCircle(5);getch(); /* 暂停一下,看看前面绘图代码的运行结果 */closegr(); /* 恢复TEXT屏幕模式 */
2007年12月03日 02点12分 1
level 5
笑傲心扬 楼主
呵呵。。这个好像没有自己做的好啊。。哈哈哈哈。。
2007年12月03日 12点12分 2
1