卡通图

来源:互联网 发布:linux注释 编辑:程序博客网 时间:2024/04/26 07:11

# include<stdio.h>
# include<graphics.h>
# include<dos.h>
# include<conio.h>

void midpoint_line(int x0,int y0,int x1,int y1,int color)
{
 float dx,dy,d,x,y,k;
 dy=y1-y0;
 dx=x1-x0;
 k=dy/dx;
 d=0.5-k;
 x=x0;
 y=y0;
 putpixel(x,y,color);
 while(x<x1)
 {
 if(d<0)
 {
 x++;
 y++;
 d=d+1-k;
 }
 else{
 x++;
 d=d-k;
 }
 putpixel(x,y,color);
 }
 }


   void circlepoints(int x0,int y0,int x,int y,int color)
 {
   putpixel(x0+x,y0+y,color);
   putpixel(x0-x,y0+y,color);
   putpixel(x0+x,y0-y,color);
   putpixel(x0-x,y0-y,color);
   putpixel(x0+y,y0+x,color);
   putpixel(x0+y,y0-x,color);
   putpixel(x0-y,y0+x,color);
   putpixel(x0-y,y0-x,color);

 }

   void midpoint_circle(int x0,int y0,int r,int color)
   {
   int x=0;
   int y=r;
   double d=1.25-r;
   circlepoints(x0,y0,x,y,color);
   while(y>x){
   if(d<0)
   d+=2.0*x+3.0;
   else{
   d+=2.0*(x-y)+5.0;
   y--;
   }
   x++;
    circlepoints(x0,y0,x,y,color);
   }
   }


   void main()
   {

    int gdriver=DETECT,gmode;
    initgraph(&gdriver,&gmode,"c://win-tc");

    midpoint_line(280,230,320,230,4);

         setcolor(1);
    line(300,200,300,230);

    midpoint_line(290,270,310,300,7);
    midpoint_line(290,300,310,330,7);
    midpoint_line(290,330,310,360,7);
    midpoint_line(290,360,310,390,7);
    midpoint_line(290,390,310,420,7);
    setcolor(7);
    line(310,270,290,300);
    line(310,300,290,330);
    line(310,330,290,360);
    line(310,360,290,390);
    line(310,390,290,420);

    midpoint_circle(300,150,100,2);

    midpoint_circle(300,180,20,3);

    midpoint_circle(220,50,30,1);
    midpoint_circle(380,50,30,1);

    midpoint_circle(250,110,20,5);
    midpoint_circle(350,110,20,5);
    midpoint_circle(250,110,10,5);
    midpoint_circle(350,110,10,5);


    midpoint_circle(300,370,120,6);

    midpoint_circle(200,270,40,6);
    midpoint_circle(400,270,40,6);

    midpoint_circle(220,450,50,6);
    midpoint_circle(380,450,50,6);

   getch();
   closegraph();
   }

 

原创粉丝点击