algorithm render用法 用于绘制反锯齿圆的算法?



render用法 (4)

Bresenham(线算法的名气)也有一个循环算法。

吴小林将线算法用于抗锯齿,同样对圆算法也做了相同的处理。

http://en.wikipedia.org/wiki/Xiaolin_Wu%27s_line_algorithm

您可以使用此搜索找到圆形算法:

http://www.google.com/search?q=Xiaolin%20Wu%20circle

-亚当

什么是一个好的算法绘制反锯齿圈? (填充和不填充)


Answer #1

如果你想要一个简单的,从像素矩阵A到像素矩阵B进行柔和的模糊处理。

这是我用过的(这里是伪代码)

anti_alised_matrix[x][y] = point[x][y] / 2 + point[x+1][y]/8 + point[x-1][y]/8 + point[x][y-1]/8 + point[x][y+1]/8;

当然,这是适用于灰度,但你可以很容易做到相同的RGB。

这真的是一个非常简单的,你也可以添加对角线,即[x + 1] [y + 1],并将其分割为16或32。


Answer #2

取决于你使用的平台,它可能是内置的--Java肯定已经将AA内置到了图形渲染中(并且已经有很长一段时间了)。 如果DotNet没有内置AA,我会感到惊讶。另外,该平台可能有亚像素AA,你可以免费获得,而且比标准AA好得多。


Answer #3

创建一个图形对象g。 做

g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

用g.FillEllipse或g.DrawEllipse绘制你的反锯齿圆





graphics