2013-06-26 75 views
1

從服務器上下載很多.gif文件,當我嘗試在畫布上繪製它時,它永遠不會工作。我創建了gif中的位圖,並使用Options類將它們設置爲不可變,並試圖創建一個新文件並將圖像保存爲png,但看起來也不起作用。有人碰巧有一個簡單的方法來將gif轉換成png嗎?到目前爲止,我已經嘗試過:Android - 將.gif轉換爲.png的最佳方法

Bitmap b = BitmapFactory.decodeFile(mediaStorageDir.getAbsolutePath() + "/" +  
cr.getString(cr.getColumnIndex(gh.Zone_ZoneName))+".gif"); 
          OutputStream stream = null; 

File f = new File(mediaStorageDir.getAbsolutePath() + "/" + 
cr.getString(cr.getColumnIndex(gh.Zone_ZoneName))+".png"); 

if(f.createNewFile()){ 
    System.out.println("PNG CREATED "+f.getAbsolutePath()); 
}else{ 
System.out.println("PNG NOT CREATED "+f.getAbsolutePath()); 
} 
stream = new FileOutputStream(f.getAbsolutePath()); 
b.compress(CompressFormat.PNG, 100, stream); 
stream.close(); 

但是這似乎不起作用。我甚至從來沒有看到system.out.println調用,並且我知道代碼正在運行,因爲正在保存gif的上方。

+1

LogCat是否顯示異常/錯誤/警告? – Raptor

+0

nope沒有什麼一切都正常工作,除非我無法將從gif創建的位圖轉換爲png –

+0

我也無法繪製從gif創建的畫布 –

回答

0

我想出了我的問題。當我嘗試訪問它以創建png時,新創建的文件上存在系統鎖定。當我將其他地方的電話轉移到png時,它的工作正常。

相關問題