绘制粗抗锯齿线的算法

时间:2011-03-19 18:03:40

标签: graphics drawing

是否有任何“标准”算法用于绘制厚的抗锯齿线?我找到了Xiaolin Wu的绘制1px宽度线的算法,但还没有找到任何粗线的扩展名。

2 个答案:

答案 0 :(得分:3)

效率低,粗糙,快速的方法是将线条绘制得更大(例如,4x),然后使用重量平均值缩小它们。详情如下:

Algorithms for downscaling bitmapped fonts

看看接受的答案。

答案 1 :(得分:2)

如果你的线条总是笔直的而你没有寻找抗锯齿曲线,你可以采用三遍法。

我不确定这对你的环境有多高效,但你可以用thickness - 2绘制该行的别名版本,然后两次使用Xiaolin Wu的方法来对边缘进行反锯齿。 @Francisco P.的方法也可行,实际上可能更合适。

这种或那种方式,需要沿着外边缘平滑混叠。如果你正在处理厚度大于1的线条,你可以通过绘制两个消除锯齿的边缘然后填充中间来实现这一点。