我正在尝试将我的 LinearLayout 转换为位图,以便可以将当前布局内容保存为 SD 卡中的图像。首先,我创建位图和画布并将布局附加到画布上。遵循http://www.brighthub.com/mobile/google-android/articles/30676.aspx#comments的步骤。
//code to add child view into layout before creating bitmap
screenBitmap = Bitmap.createBitmap(200,200,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(screenBitmap);
layout.draw(canvas);
当我按下保存按钮时,它应该将当前布局作为图像保存到 SD 卡。这是我的步骤:
FileOutputStream outStream = null;
File file = new File("/sdcard/Health Management System/");
file.mkdirs();
File outputFile = new File(file, fileName);
outStream = new FileOutputStream(outputFile);
BufferedOutputStream bos = new BufferedOutputStream(outStream);
bos.flush();
bos.close();
screenBitmap.compress(Bitmap.CompressFormat.PNG, 100,bos);
它可以在 SD 卡中创建文件夹,但在此文件夹下不创建文件。它总是给我 FileNotFoundException。我不确定是文件创建问题还是 screenBitmap 问题。谁能给我一些线索?谢谢!