1

这被包围在 try, catch 中,用于编写部分,但如果它不在 try catch 方法中,则应用程序似乎在模拟器中崩溃。我正在尝试将画布保存为位图,然后将位图保存到存储...

screenshot = Bitmap.createBitmap(screenshot, 0, 0, 0, 0);
Canvas can = new Canvas(screenshot);
int i = 0;
String filename = "EnderShot";
while (new File(filename + i + ".png") != null){
    FileOutputStream fos = null;
    fos = openFileOutput(filename + i + ".png", Context.MODE_PRIVATE);
    fos.write(screenshot.getByteCount());
    fos.close();
}

这也节省了它......所以如果有人能解决它?

4

1 回答 1

1

您在画布上绘制的任何内容实际上都将绘制在底层位图上。

在这种情况下:screenshot

所以你已经有了画布的位图,不需要将画布转换为位图。

将位图保存到文件中

try {
   FileOutputStream out = new FileOutputStream(filename + i + ".png");
   screenshot.compress(Bitmap.CompressFormat.PNG, 90, out);
   out.flush();
   out.close();
} catch (Exception e) {
   e.printStackTrace();
}
于 2012-08-09T17:16:50.960 回答