`
FeiXing2008
  • 浏览: 53089 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

学习图形处理的一些破事

 
阅读更多

这应是关于图形处理的一些东西。
我是想做像Vista的玻璃模糊效果。
由于图形处理不是很会,所以我的模糊便使了高斯模糊。

程序思路是用Robot得到屏幕的截图
然后用Kernel与ConvolveOp两个类进行得理~~
最后将截图进行模糊。
我在下边展示一些图形处理的代码:

Robot rb = new Robot();
JLabel jlb = new JLabel();
JButton jbtn = new JButton();
BufferedImage im = rb.createScreenCapture(new Rectangle(200,200));
float[] data = {0.0625f, 0.125f, 0.0625f,    0.125f, 0.125f, 0.125f,    0.0625f, 0.125f, 0.0625f     };
Kernel kernel = new Kernel(3, 3, data);
ConvolveOp co = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);
BufferedImage im2 = null;
im2 = co.filter(im, im2);
this.setLayout(new FlowLayout());
ImageIcon imIcon = new ImageIcon(im2);
jlb.setIcon(imIcon);
this.getContentPane().add(jlb);
ImageIcon imIcon2 = new ImageIcon(im);
jbtn.setPreferredSize(new Dimension(200,200));
jbtn.setIcon(imIcon2);
this.getContentPane().add(jbtn);

 
上边的代码上JFrame子类构造器里,这里不写出来了。
感觉使用这种模糊的效果与Vista的效果差好远~`不过也只好凑着用了。
效果如下

想找个更像Vista的,可惜未发现。

现在的原理就是先截图,模糊,把其放在背景,让人感到好像是透明那样。这个代码就不写出了
 

  • 大小: 26.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics