BresenhamLine

来源:互联网 发布:移动网络解锁 编辑:程序博客网 时间:2024/06/01 08:17
#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;        }    }}

0 0
原创粉丝点击