- 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卡上读写文件的权限