Bresenham算法画直线的函数的问题
菜鸟一枚。。看了一下Bresenham算法的推导。。自己写了个画直线的函数,但就是和例题中画线函数(也是用Bresenham)画出来的图形不一样。求大神指点。。
int Draw_Line2(int x0, int y0, int x1, int y1, DWORD color, UCHAR *vb_start, int lpitch) { if (x0 > x1)//确保dx>0; { int temp = x0; x0 = x1; x1 = temp; temp = y0; y0 = y1; y1 = temp; } int x = x0, y = y0; int dx = x1 - x0; int dy = y1 - y0; vb_start = vb_start + x0 + y0*lpitch; int Sub; if (dy > 0) { if (dx > dy) { Sub = (dy << 1) - dx; while (x++ <= x1) { *vb_start = color; ++vb_start; if (Sub > 0) { vb_start += lpitch; Sub += (dy << 1) -( dx << 1); } else Sub += (dy << 1); |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好歹用个代码格式..这样的排版没人愿意看的....