重点画圆的函数,大神帮忙看看为什么我每个地方用putpixel()函数就出错,但我已经下载了插件包含了头文件

 我来答
百度网友c1994c5f8
2014-06-04 · TA获得超过1332个赞
知道小有建树答主
回答量:264
采纳率:89%
帮助的人:201万
展开全部

你下载的插件是不是和对应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();

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式