如何将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卡上读写文件的权限
转:http://blog.csdn.net/fengqiaoyebo2008/article/details/5881898