|             /****************************************
            对称法画圆的8个镜像点
            *****************************************/
            void CircleDot(unsigned char x,unsigned char y,char xx,char yy,unsigned char Color)//内部函数,对称法画圆的8个镜像点
            {
                    Lcd_PutPixel((x+yy),(y+xx),Color);//第 1 个 8 分圆
                    Lcd_PutPixel((x+xx),(y+yy),Color);//第 2 个 8 分圆
                    Lcd_PutPixel((x-xx),(y+yy),Color);//第 3 个 8 分圆
                    Lcd_PutPixel((x-yy),(y+xx),Color);//第 4 个 8 分圆
                    Lcd_PutPixel((x-yy),(y-xx),Color);//第 5 个 8 分圆
                    Lcd_PutPixel((x-xx),(y-yy),Color);//第 6 个 8 分圆
                    Lcd_PutPixel((x+xx),(y-yy),Color);//第 7 个 8 分圆
                    Lcd_PutPixel((x+yy),(y-xx),Color);//第 8 个 8 分圆
            }
            /******************************************
            向LCD指定圆心坐标画一个半径为r的指定颜色的圆
            *******************************************/
            void Lcd_Circle(unsigned char x,unsigned char y,unsigned char r,unsigned char Color)//中点法画圆
            {//中点法画圆
                    unsigned char xx,yy;
                    char deltax,deltay,d;
                    xx=0;
                    yy=r;
                    deltax=3;
                    deltay=2-r-r;
                    d=1-r;
                    CircleDot(x,y,xx,yy,Color);//对称法画圆的8个镜像点
                    while (xx
                        {
                                if (d<0)
                                {
                                        d+=deltax;
                                        deltax+=2;
                                        xx++;
                                }
                                else
                                {
                                        d+=deltax+deltay;
                                        deltax+=2;
                                        deltay+=2;
                                        xx++;
                                        yy--;
                                }
                                CircleDot(x,y,xx,yy,Color);//对称法画圆的8个镜像点
                        }
                }
 |