2010-10-18 47 views
0

我現在遇到了一個問題,android系統無法解碼gif文件,但我們需要做那個工作,我該怎麼做,如果你知道的話,請告訴我,謝謝。gif無法解碼

回答

2

一個非常粗糙的答案,查找GIF的文件格式,然後打開並讀取文件,然後設置可繪製/位圖的像素。

您可能可以在網絡上找到可以使用的GIF解碼例程。

+0

感謝raybrittion,我明白了,我使用的是開源的giflib,它工作的很好。 – jacky 2010-10-20 14:28:49

+2

您能否將此標記爲已解決? – 2010-10-20 16:55:36

1

你不說你從哪裏得到GIF文件 - 從SD卡上,從資源或URL中獲取?

對於URL的情況下,BitmapFactory解碼將讀取GIF文件,但只有當你以正確的方式去解決它。例如(獲取默認的Facebook個人資料圖片)

mUri = new URI("http://graph.facebook.com/100002092153001/picture?type=large"); 
mRequest = new HttpGet(mUri); 

HttpResponse response = httpClient.execute(mRequest); 

HttpEntity entity  = response.getEntity(); 
InputStream inputStream = entity.getContent(); 

bitmap = BitmapFactory.decodeStream(inputStream); 

這裏的關鍵是獲取響應內容作爲inputStream。如果你得到字節,然後使用BitmapFactory.decodeByteArray(字節),你會得到一個空位圖。

這也適用於JPG。我還沒有用PNG測試過它。