【发布时间】:2013-06-23 01:00:07
【问题描述】:
我正在从服务器下载大量 .gif 文件,当我尝试在画布上绘制它们时,它永远无法正常工作。我已经从 gif 中创建了位图,并使用 Options 类将它们设置为不可变,并尝试创建一个新文件并将图像保存为 png,但这似乎也不起作用。有人碰巧有一种简单的方法将 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 的正上方。
【问题讨论】:
-
LogCat 是否显示异常/错误/警告?
-
不,一切正常,除了我无法将我创建的位图从 gif 转换为 png
-
我也无法在从 gif 创建的画布上绘图