我已经为一个简单的线路drwaing类实现了Bresenham算法,现在我想在它上面设置一个抗锯齿,我使用JavaFX进行查看。
如何在不使用库的情况下实现抗锯齿?
答案 0 :(得分:1)
进行抗锯齿处理的一种方法是使用过采样。图像以更高的解决方案呈现,其中通常为了效率和易于实现,所生成的图像更大的因子是2的幂。然后对生成的图像进行下采样。</ p>
更有效的方法(另一方面有一些缺点)是algorithm by Wu。在该方法中,使用查找表,其存储使用子像素精度绘制像素的相邻像素的期望颜色。 Bresenham的线算法然后使用此查找表来放置具有实际子像素精度的像素。
后一种方法不需要下采样并且可能需要更少的存储器访问,但是如果第二行消除了为第一行绘制的像素,则线路交叉时可能会出现atrifacts。这种效果可以通过使用像素的饱和加法而不是替换来解决。