如何将视图从画布保存到PNG文件?

时间:2012-11-23 17:24:08

标签: android png android-canvas

我创建了可用于在其上绘制一些形状的画布。 如何将其内容保存到用户SD卡上的PNG文件中?

2 个答案:

答案 0 :(得分:6)

查看此链接this link 在此链接中,您可以找到方法

void saveImage() {

  try {
      String filename = Environment.getExternalStorageDirectory().toString();

      File f = new File(filename ,"myImage.png");
      f.createNewFile();
      System.out.println("file created " + f.toString());
      FileOutputStream out = new FileOutputStream(f);
      Bitmap bitmap = showImage(urlStr);
      bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
  } catch (Exception e) {
      e.printStackTrace();
  }      
 }

用于保存您进入位图的图像。并检查this link是否从画布获取位图

希望这会对你有所帮助。

快乐编码

答案 1 :(得分:1)

Canvas只是一种绘制到Bitmap的方法。

您应该使用new Canvas(myBitmap);创建Canvas。因此,当您在Canvas上绘制时,它会绘制到您的位图。

所以使用myBitmap执行以下操作(代码here

String fileName = Environment.getExternalStorageDirectory() + "/test.png";
OutputStream stream = new FileOutputStream(fileName);
/* Write bitmap to file using JPEG or PNG and 80% quality hint for JPEG. */
myBitmap.compress(CompressFormat.PNG, 80, stream);
stream.close();