歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

如何將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卡上讀寫文件的權限

<!-- 在SDCard中創建與刪除文件權限 --> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 
<!-- 往SDCard寫入數據權限 --> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved