【问题标题】:How can i convert canvas to bitmap for save in sdCard如何将画布转换为位图以保存在 sdCard 中
【发布时间】:2014-06-04 22:27:38
【问题描述】:

我使用 SurfaceView 在屏幕上移动两个位图图片。 我试过这个:

...
@Override
protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);

  ...

  canvas.drawBitmap(bitmap,matrix,paint);
  canvas.drawBitmap(bitmap2,matrix,paint);
}
...

如何像这样将画布保存到 sdCard 中?

public saveCanvasIntoSdCard(Canvas canvas)
{

}

【问题讨论】:

    标签: android android-canvas surfaceview android-bitmap surfaceholder


    【解决方案1】:

    我找到的解决方案:

    public Bitmap getBitmap() {
      Bitmap bmOverlay = Bitmap.createBitmap(bitmap2.getWidth(), bitmap2.getHeight(), bitmap2.getConfig());
      Canvas canvas = new Canvas(bmOverlay);
      canvas.drawBitmap(bitmap, matrix, null);
      canvas.drawBitmap(bitmap2, 0, 0, null);
      return bmOverlay;
    }
    
    public void save(View view){
      String root = Environment.getExternalStorageDirectory().toString();
      File myDir = new File(root + "/dress");    
      myDir.mkdirs();
    
      String fname = "save.jpg";
      File file = new File (myDir, fname);
      if (file.exists ()) file.delete (); 
      try {
      FileOutputStream out = new FileOutputStream(file);
      getBitmap().compress(Bitmap.CompressFormat.JPEG, 100, out);
      out.flush();
      out.close();
    
      } catch (Exception e) {
      e.printStackTrace();
      }
    
    }
    

    【讨论】:

    • 什么矩阵?是单位矩阵吗?
    猜你喜欢
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多