如何将Canvas中内容保存为图片

    由于工作需要研究了一下如何将Canvas中的内容保存为图片,其实很简单,别的不多说,直接上代码。

 

 

   Bitmap bm = Bitmap.createBitmap(320, 480, Config.ARGB_8888); Canvas canvas = new Canvas(bm); Paint p = new Paint(); canvas.drawRect(50, 50, 200, 200, p); canvas.save(Canvas.ALL_SAVE_FLAG ); canvas.restore(); File f = new File("/sdcard/0.png"); FileOutputStream fos = null; try { fos = new FileOutputStream(f); bm.compress(Bitmap.CompressFormat.PNG, 50, fos); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }

 

  这样就把Canvas中的内容保存成了sd卡上的一个png图片。简单说一下原理,自己create一个bitmap,然后让Canvas通过这个bitmap创建一个实例,然后在该canvas上绘制的内容都会画

在该bitmap上,保存Canvas的图层,然后把bitmap写到sd卡上的文件。注意:要在AndroidManifest.xml中添加在sd卡上读写文件的权限

 

 

你可能感兴趣的:(Android)