void Frog_Graphic_Line(int xa, int ya, int xb,int yb, int color)
{
float x, y;
float dx, dy;
float k; // 直线的斜率
float x0=xa,y0=ya,x1=xb,y1=yb,lx,ly;
if(yb<ya)
yb=2*ya-yb;//转化到第三象限
if(xb<xa)
xb=2*xa-xb;
dx = (float)(xb - xa);
dy = (float)(yb - ya);
k = dy / dx;
x = xa;
y = ya;
if (abs(k) <= 1)
{
for (x = xa; x <= xb; x++)
{
if(x1<x0)
lx=2*x0-x;
else
lx=x;
if(y1<y0)
ly=2*y0-y;
else
ly=y;
SetPixel(lx, (int)(ly + 0.5), color);
y = y + k;
}
}
else
{
for (y = ya; y <= yb; y++)
{
if(x1<x0)
lx=2*x0-x;
else
lx=x;
if(y1<y0)
ly=2*y0-y;
else
ly=y;
SetPixel((int)(lx + 0.5), ly, color);
x = x + 1 / k;
}
}
}