如何从内部存储中显示位图?

时间:2011-09-29 07:12:46

标签: android bitmap loading

我将位图图像保存在内部存储中但我无法重新显示它。我已经研究了很长时间但我还没有找到。

public static void saveImages(Activity activity) throws IOException
    {  
        for (int i=0; i<categories.getItems().length; i++) {        
            OutputStream os2 = activity.openFileOutput(categories.getItems()[i].getName(),
                    Context.MODE_WORLD_READABLE);
            OutputStreamWriter osw2 = new OutputStreamWriter(os2);
            Bitmap bmp = ((BitmapDrawable)categories.getItems()[i].getCategoryImage()).getBitmap(); 
            bmp.compress(Bitmap.CompressFormat.PNG, 90, os2);
            osw2.close();
        }
    }

此代码可成功保存图像。我将重新显示文件中的图像。 谢谢

3 个答案:

答案 0 :(得分:5)

尝试此代码:使用openFileInput获取您保存的流,然后对其进行解码:

for (int i=0; i<categories.getItems().length; i++) {        
InputStream is = activity.openFileInput(categories.getItems()[i].getName());
Bitmap b = BitmapFactory.decodeStream(is);

// do whatever you need with b
}

答案 1 :(得分:3)

试试这个

    File f=new File(yourdir, imagename);
    Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));

答案 2 :(得分:0)

解码位图,然后创建一个新的imageView,然后将位图添加到imageView。