如何在 Java Swing 中创建投影、内发光和外发光?

2022-09-02 10:23:32

我正在使用Graphics2D界面生成一些图像,偶尔我希望能够在图像上绘制一些文本并应用Adobe Photoshop中的效果。

现在,为了在文本上生成“阴影”,我将文本绘制两次,一次是原始颜色,另一次是黑色,带有轻微的(1px)x&y偏移。不幸的是,这过于简单化,因为我需要对阴影(不透明度,大小,散布)进行更多控制。

至于内发光和外发光,我真的不知道从哪里开始;蒙版/渐变画/阿尔法混合?

是否有用于生成这些类型效果的 Java 库?如果不是,您将如何创建这些效果?


答案 1

我强烈推荐《肮脏的富客户》这本书。第16章讲的是阴影。您可能还对此博客文章感兴趣。第17章讨论了发光效果。网站上有两者的示例代码。这本书的其余部分也非常值得一读。当我读这本书时,我无法放下它。书中还解释和演示了许多其他有趣的效果。

如前所述,jhlabs网站也是一个很好的网站。

编辑:

对于库,我会查看 SwingX 库中的 Painters。以下是几个教程:


答案 2

这个网站有很多关于滤镜和效果的信息,我认为应用程序的源代码也是可用的。


推荐