【发布时间】:2011-05-01 20:59:23
【问题描述】:
可能重复:
how do I create a line of arbitrary thickness using Bresenham?
如何使用 Bresenham 算法绘制超过一个像素粗的线条? 我是否必须在 x 和 y 偏移的情况下多次运行该算法?
【问题讨论】:
标签: algorithm line pixel bresenham
可能重复:
how do I create a line of arbitrary thickness using Bresenham?
如何使用 Bresenham 算法绘制超过一个像素粗的线条? 我是否必须在 x 和 y 偏移的情况下多次运行该算法?
【问题讨论】:
标签: algorithm line pixel bresenham
您可以做的一件事是使用直线的斜率进行计算,即两个正交方向上的单位偏移量。将其乘以您的厚度,并在两个端点处进行偏移。您现在有效地获得了旋转矩形的边界。然后,不要使用 Bresenham 绘制线条,而是使用快速多边形填充。
【讨论】:
不,简单的方法是在算法产生的大于一个像素的每个 (x, y) 位置绘制一个模板,例如一张光盘。
但这当然是低效的,因为您多次绘制相同的像素。然而,它很容易实现,并且即使是奇形怪状或多色的模板也能很好地工作。
【讨论】: