重点画圆的函数,大神帮忙看看为什么我每个地方用putpixel()函数就出错,但我已经下载了插件包含了头文件
1个回答
展开全部
你下载的插件是不是和对应VC++版本不匹配?
我的环境VS2013,下载最新EasyX,安装vs2012对应版本插件,你的代码不做任何修改的情况下,没有出错。不过,你的代码还有点问题,下面是我修改过的,可以画出完整的圆。
#include "graphics.h"
#include "conio.h"
void Circle(int x0, int y0, int r, int c)
{
putpixel(x0, y0 + r, c);
double d = 5 / 4 - r;
int x = 0;
int y = r;
while (x <= y)
{
if (d >= 0)
{
x++;
y--;
d += 2 * (x - y) + 1;
}
else
{
x++;
d += 2 * x + 1;
}
putpixel(x0 + x, y0 + y, c);
//分析出来目标点(x,y)必然存在(x,-y),(-x,y),(-x,-y),(y,x),(y,-x),(-y,x),(-y,-x)的另外7个点。
putpixel(x0 + x, y0 - y, c); //(x,-y)
putpixel(x0 - x, y0 + y, c); //(-x,y)
putpixel(x0 - x, y0 - y, c); //(-x,-y)
putpixel(x0 + y, y0 + x, c); //(y,x)
putpixel(x0 + y, y0 - x, c); //(y,-x)
putpixel(x0 - y, y0 + x, c); //(-y,x)
putpixel(x0 - y, y0 - x, c); //(-y,-x)
}
}
void main()
{
initgraph(640, 480);
Circle(320, 240, 200, YELLOW);
getch();
closegraph();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询