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

标签 java swing graphics effects java-2d

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

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

至于内发光和外发光,我不确定从哪里开始; mask /渐变绘制/Alpha 混合?

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

最佳答案

我强烈推荐这本书 Filthy Rich Clients .第 16 章讨论了投影。您也可能对这个 blog post 感兴趣.第 17 章讨论了发光效应。两者的网站上都有示例代码。这本书的其余部分也很值得一读。读的时候放不下书。书中还解释和演示了许多其他有趣的效果。

jhlabs site如前所述,这也是一个不错的网站。

编辑:

对于图书馆,我会查看 SwingX library 中的 Painters .这里有几个教程:

关于java - 如何在 Java Swing 中创建投影、内发光和外发光?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3232675/

相关文章:

java - 了解 JFileChooser 行为

java - libGDX 从图像文件夹中创建一个图集

java - 在 JLabel 中显示多行文本

java - 如何在两个不同的 Swing 窗口之间共享方法?

c++ - 在 OpenGL/SDL2 教程中,纹理采样坐标似乎按 2 倍缩放

java - Eclipse 错误 com.google.android.gms.ads 无法解析

java - Android MVP 发布 Presenter 的正确方法

java - JMenu 栏项目(退出)不起作用

r - ggplot2 多边形 -> 错误 : Discrete value supplied to continuous scale

c# - 在WinForms应用程序中绘制数千条线的最快方法是什么