通常のウィンドウの代わりに、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のスタートメニューを開いて右側を見てください。)