如何在 Java 中的 Graphics2D 中使用高斯模糊绘制背景

问题描述

我尝试了几种方法,但它们都太慢了,我尝试使用 LWJGL 和 LibGdx,但这对我来说太先进了,因为必须使用着色器语言创建着色器。我尝试的最后一次由于速度太慢和故障而失败。这是我尝试的最后一种方法:(我使用了 Graphics2D 复合,以及 JHLabs FilterComposite 和 GaussianBlurFilter)

    public void render(BubbleBlaster game,Graphics2D gg) {
        LoadedGame loadedGame = BubbleBlaster.getInstance().getLoadedGame();
        if (loadedGame == null) {
            return;
        }

        Composite oldCompositeCo = gg.getComposite();
        FilterComposite filterComposite = new FilterComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,1.0f),new GaussianBlurFilter(10));

        gg.setComposite(filterComposite);
    }

解决方法

此处有一个用于 LibGDX 的高斯模糊的现场网络演示(左侧第 7 个选项)https://crashinvaders.github.io/gdx-vfx/

要在您的应用中包含 GDX-VFX 的详细信息,请点击此处https://github.com/crashinvaders/gdx-vfx

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...