如何将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

posted @ 2015-03-20 13:14  wangle100  阅读(555)  评论(0编辑  收藏  举报