Swinghacks——按鈕模糊效果

來源:互聯網
上載者:User

先看片,正常圖片如下:

當按鈕都disable之後,對比效果如下:

下面的normal是正常按鈕disable後的效果

上面的是處理成模糊效果

來看看原理,思路當然還是重寫paintComponent,然後利用paintComponent(buf.getGraphics)擷取原控制項樣式的圖片

對圖片進行模糊處理後畫出來,看代碼

    public void paintComponent(Graphics g) {        if(isEnabled()) {        //這裡返回原樣式            super.paintComponent(g);            return;        }                //定義矩陣        float[] my_kernel = {            0.10f, 0.10f, 0.10f,            0.10f, 0.20f, 0.10f,            0.10f, 0.10f, 0.10f };        ConvolveOp op = new ConvolveOp(new Kernel(3,3, my_kernel));        BufferedImage buf = new BufferedImage(getWidth(),getHeight(),            BufferedImage.TYPE_INT_RGB);        //先把控制項畫到buf圖片中        super.paintComponent(buf.getGraphics());        //做模糊過濾演算法        Image img = op.filter(buf,null);        //畫出處理後的按鈕        g.drawImage(img,0,0,null);    }

這種方法可以模糊各種控制項,比如按鈕點擊後,模糊背景,彈出一個計時等待視窗 等等

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.