void circle1(int x,int y,double radius,int color) /*比一系统提供的效率要低些*/
{
int i;
double rx,ry;
for(i=0;i<=450;i++) /* i的值得看分辨率和所画圆的大小,最小值是90,不过这种情况基本不存在 */
{
rx=radius*cos(i/radius);
ry=radius*sin(i/radius);
putpixel((int)(x-rx),(int)(y-ry),color);
putpixel((int)(x+rx),(int)(y-ry),color);
putpixel((int)(x-rx),(int)(y+ry),color);
putpixel((int)(x+rx),(int)(y+ry),color);
}
}
通过putpixel画圆算法,效率不是很高
最新推荐文章于 2023-09-21 07:00:00 发布