7

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

4

2 回答 2

7

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

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();
  }      
 }

它用于将您输入的图像保存到位图中。并检查此链接 以从画布获取位图

希望这可以帮助你。

快乐编码

于 2012-11-23T17:32:36.270 回答
2

画布只是绘制位图的一种手段。

你应该已经用new Canvas(myBitmap);. 因此,当您在 Canvas 上绘图时,它会绘制到您的位图。

所以使用myBitmap执行以下操作(此处的代码:

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();
于 2012-11-23T17:34:11.313 回答