重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言写一个画直线函数 用c语言画直线

用VC6.0编写的画直线的C语言程序!求大神帮忙!

这个简单,用MoveTo 和LineTo就行了。如有下面2个点,x(1,2),y(8,9)

成都创新互联公司主营华容网站建设的网络公司,主营网站建设方案,重庆App定制开发,华容h5小程序定制开发搭建,华容网站营销推广欢迎华容等地区企业咨询

你只要MoveTo(1,2);

LineTo(8,9);

如果你是要任意输入2个点的话,那么先将输入的点先转化为浮点型,用atof函数,这个函数使用起来很简单,就是把字符型转化为浮点型。这样就好了。

我是c语言初学者,老师要求设计程序用函数画一个圆和一条直线。求各位路过的大神仗义相助。。

1  对于这种问题,首先分析需求,

直线:

要画直线,要的是什么,就是两个点;

所以定义一个结构体

struct point

{

int  x;

int  y;

}Ppline,Ppcircle;

画圆:

那么需要一个圆心,和一个半径;

圆心,通过上面的定义,可以获得,半径的话,直接传递参数就行了;

直线函数:

int  paintline(Ppline  startpoint,Ppline endpoint);

画圆函数:

int  paintcircle(Ppcircle   centerpoint,int  r);

怎么用C语言画点和直线

这个不管怎么说不是最开始的控制台的程序,这个新建工程的时候需要选择的是Win32的程序

画线的函数使用windows提供的API,MoveTo:移动到起点,LineToEx:移动到终点的这两个函数,是在OnPaint,或是响应WM_PAINT的消息的时候处理这两个函数;画点的画,使用SetPixel这个函数,同样也是在WM_PAINT的消息中去处理与画图有关的操作的

怎样用C语言绘制直线

1.void far line(int x0, int y0, int x1, int y1);

画一条从点(x0, y0)到(x1, y1)的直线。

2.void far lineto(int x, int y);

画一作从现行游标到点(x, y)的直线。

3.void far linerel(int dx, int dy);

画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。

利用C语言编写 能够画出任意的直线算法程序(利用画点函数)

上次刚写过,在VC下运行的,

int dx,dy,incrE,incrNE,d,x,y;

if ((point[1].x-point[0].x)==0){ //垂直的直线

x=point[0].x;

for(y=point[0].y;ypoint[1].y;y++)

pDC-SetPixel(x,y,50);

}

else if(abs((point[1].y-point[0].y)/(point[1].x-point[0].x))=1){ //斜率 -1到 1 之间

dx=point[1].x-point[0].x;

dy=point[0].y-point[1].y;

d=dx-2*dy;

incrE=-2*dy;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

if(point[0].ypoint[1].y){

while(xpoint[1].x)

{

if(d=0){

d+=incrE;

x++;

}

else

{d+=incrNE;

x++;

y--;

}

pDC-SetPixel(x,y,50);

}

}

else if(point[0].y=point[1].y){

dy=point[1].y-point[0].y;

incrE=-2*dy;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(xpoint[1].x)

{

if(d=0){

d+=incrE;

x++;

}

else

{d+=incrNE;

x++;

y++;

}

pDC-SetPixel(x,y,50);

}

}

}

else { //斜率 -1 和 1的直线

if(point[1].x=point[0].x){

dx=point[1].x-point[0].x;

dy=point[1].y-point[0].y;

d=2*dx-dy;

incrE=2*dx;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(xpoint[1].x)

{

if(d0){

d+=incrE;

y++;

}

else

{d+=incrNE;

pDC-SetPixel(x,y,50);

x++;

y++;

}

pDC-SetPixel(x,y,50);

}

}

else if((point[1].y-point[0].y)/(point[1].x-point[0].x)-1){

dx=point[1].x-point[0].x;

dy=point[0].y-point[1].y;

d=2*dx-dy;

incrE=2*dx;

incrNE=2*(dx-dy);

x=point[0].x,y=point[0].y;

pDC-SetPixel(x,y,50);

while(ypoint[1].y)

{

if(d0){

d+=incrE;

y++;

}

else

{d+=incrNE;

x--;

y++;

}

pDC-SetPixel(x,y,50);

}

}

}


当前名称:c语言写一个画直线函数 用c语言画直线
转载来于:http://cqcxhl.com/article/hjjdid.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP