Java swing顯示gif


原文地址:http://yanwushu.sinaapp.com/?p=48


Gif是swing中實現動畫的常用手段。通常在swing中顯示圖片最簡單的方式是調用JButton或JLabel的setIcon(Icon icon)方法。但是這種做法不適合顯示gif圖片,因爲如果你這樣做的話馬上會發現gif的刷新率往往非常快,或者應該說太快了,並且相應的cpu利用率會大幅度提高,嚴重情況下可能導致死機。


爲了解決這個問題你可以選擇以下兩種思路,第一種思路是:將gif圖片分割成若干張靜態圖片,然後通過程序循環顯示這些圖片,達到動畫的目的。比如下圖,這當然是不好的做法,麻煩,且工作量巨大。


通過循環顯示實現動畫


第二種思路是使用代碼手動分析gif文件,這一部分本文提供了完整的實現,下載鏈接在文章末尾。下載包中的GifAnalysis.java是gif的分析工具。Gif.java則是呈現gif的一個參考。


如果你希望瞭解GifAnalysis.java的實現原理,那麼需要對gif文件格式有一些基礎的理解和了解java處理gif的相關接口,那麼請參考末尾的鏈接,這是一篇譯文,可能有些不通順,有興趣的人可以找一下相關外文文檔。


實現原理:http://www.blogjava.net/javagui/archive/2008/12/07/javafx.html

代碼下載:http://pan.baidu.com/s/1kT40wPT

如果資源失效,請通知[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章