|
/**************************************************************************
功能:给定起始结束点划线
参数:(x1,y1)-->起点,(x2,y2)-->结束点,color颜色
返回:无
***************************************************************************/
void Glib_Line(int x1,int y1,int x2,int y2,int color)
{
int dx,dy,e,temp;
dx=x2-x1;
dy=y2-y1;
if(dx<0){temp=x1;x1=x2;x2=temp;dx=-dx;}
if(dy<0){temp=y1;y1=y2;y2=temp;dy=-dy;}
/*************************************/
if(dx>=dy) // dx>=dy
{
e=dy-dx/2;
while(x1<=x2)
{
PutPixel(x1,y1,color);
if(e>0){y1+=1;e-=dx;}
x1+=1;
e+=dy;
}
}
else // dx<dy
{
e=dx-dy/2;
while(y1<=y2)
{
PutPixel(x1,y1,color);
if(e>0){x1+=1;e-=dy;}
y1+=1;
e+=dx;
}
}
}
呵呵!~认真看了下!~原来是个算法!~~改编了一下!~效果一样~!~ |
|