#include < graphics.h >
#include < math.h >
void BresenhamLine(int x1, int y1, int x2, int y2);
int main(void) {
int gdriver = DETECT,
gmode,
errorcode;
int bkcolor,
midx,
midy;
initgraph( & gdriver, &gmode, "");
setcolor(RED);
BresenhamLine(0, 0, 639, 479);
getch();
closegraph();
return 0;
}
void BresenhamLine(int x1, int y1, int x2, int y2) {
int color;
int x,
y,
dx,
dy,
p;
int delta1,
delta2;
x = x1;
y = y1;
dx = x2 - x1;
dy = y2 - y1;
p = dy + dy - dx;
delta1 = dy + dy - dx - dx;
delta2 = dy + dy;
color = getcolor();
while (x <= x2) {
putpixel(x, y, color);
if (p > 0) {
x++;
y++;
p += delta1;
} else {
x++;
p += delta2;
}
}
}
BresenhamLine
最新推荐文章于 2023-06-23 14:00:00 发布