【问题标题】:How to save view from canvas to PNG file?如何将画布中的视图保存到PNG文件?
【发布时间】:2012-11-12 01:51:50
【问题描述】:

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

【问题讨论】:

    标签: android png android-canvas


    【解决方案1】:

    查看此链接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 从画布获取位图

    希望这对你有帮助。

    快乐编码

    【讨论】:

    • 压缩位图后你可能不再需要它了,可以 bitmap.recycle()
    【解决方案2】:

    画布只是绘制位图的一种方式。

    您应该已经使用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();
    

    【讨论】:

      猜你喜欢
      • 2013-03-26
      • 2023-02-06
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 2021-06-24
      • 2014-07-31
      相关资源
      最近更新 更多