我目前正在使用Bresenham算法绘制线条,但是它们(当然)的厚度是一个像素。我的问题是画任意粗线的最有效方法是什么?
我使用的语言是C。
我认为最好的方法是绘制矩形而不是直线,因为具有宽度的线是二维对象。试图绘制一组平行线来避免过度绘制(以减少写入带宽)和欠画(缺少像素)会非常复杂。从起点和终点以及宽度计算矩形的角点并不难。
因此,在下面的评论之后,执行此操作的过程将是:
注意*:如果您使用的是OpenGL,则也可以同时执行第2步。当然,使用OpenGL确实意味着要理解OpenGL(又大又复杂),并且此应用程序可能会使在开发的后期阶段实现这一棘手的事情。