我正在尝试使用类似 Vista Aero Glass 的背景创建覆盖层来代替普通窗口。我的部分答案似乎在这里,但我想知道如何在 Swing/AWT 中获得模糊效果。这看起来像一个开始:
public BufferedImage processImage(BufferedImage image) {
float[] blurMatrix = { 1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f, 1.0f /
9.0f, 1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f, 1.0f / 9.0f };
BufferedImageOp blurFilter = new ConvolveOp(new Kernel(3, 3, blurMatrix),
ConvolveOp.EDGE_NO_OP, null);
return blurFilter.filter(image, null);
}
...但我真的很想获得一场势均力敌的比赛。看来流程应该是:
- 模糊背景图像
- 涂上透明的灰色(或任何你想要的背景颜色)
- 然后绘制不透明的窗口内容
如果我做对了,我可能会加入 Aero 窗口边框阴影。
我在正确的轨道上吗?我应该多精确地进行模糊以获得相同的外观?也许有人已经解决了这个问题?(作为参考,打开 Vista 开始菜单并查看右侧。)