【问题标题】:How to program anti-aliasing in Java如何在 Java 中编写抗锯齿程序
【发布时间】:2015-09-11 13:01:10
【问题描述】:

我已经为 Simple line drwaing 类实现了 Bresenham 算法,现在我想对其设置抗锯齿,我使用 JavaFX 进行查看。

如何在不使用库的情况下实现抗锯齿?

【问题讨论】:

标签: java algorithm graphics antialiasing bresenham


【解决方案1】:

进行抗锯齿的一种方法是使用过采样。图像在更高的解决方案中呈现,通常为了效率和易于实现,生成的图像会大两倍,即两倍的幂。然后对生成的图像进行下采样。

一种更有效的方法(另一方面也有一些缺点)是algorithm by Wu。在这种方法中,使用查找表存储相邻像素的所需颜色,其中使用亚像素精度绘制像素。然后 Bresenham 的线算法使用此查找表来放置具有实际亚像素精度的像素。

后一种方法不需要下采样和可能更少的内存访问,但是如果线交叉,因为第二行抵消了为第一行绘制的像素,则可能会出现atrifacts。这种影响可以通过对像素使用饱和加法而不是替换来解决。

【讨论】:

    猜你喜欢
    • 2014-02-18
    • 2020-12-12
    • 1970-01-01
    • 2016-06-28
    • 2011-07-05
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多