android圖像繪制(五)——畫佈保存為圖片

上一篇:/kf/201202/119625.html

將圖片進行編輯(放縮,塗鴉等),最後保存成指定格式、大小的圖片。

先貼代碼:

[java]
Bitmap bmp = Bitmap.createBitmap(480, 800, Config.ARGB_8888); 
Canvas canvas = new Canvas(bmp); 
canvas.drawBitmap(this.bmp, matrix, paint); 
canvas.save(Canvas.ALL_SAVE_FLAG); 
canvas.restore(); 
             
File file = new File("/sdcard/akai/"); 
if(!file.exists()) 
    file.mkdirs(); 
    try { 
        FileOutputStream fos = new FileOutputStream(file.getPath() + "/2.png"); 
        bmp.compress(Bitmap.CompressFormat.PNG, 100, fos); 
        fos.close(); 
        System.out.println("saveBmp is here"); 
    } catch (Exception e) { 
                e.printStackTrace(); 

Bitmap bmp = Bitmap.createBitmap(480, 800, Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
canvas.drawBitmap(this.bmp, matrix, paint);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
   
File file = new File("/sdcard/akai/");
if(!file.exists())
 file.mkdirs();
 try {
  FileOutputStream fos = new FileOutputStream(file.getPath() + "/2.png");
  bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);
  fos.close();
  System.out.println("saveBmp is here");
 } catch (Exception e) {
    e.printStackTrace();
}解釋:

1、首先創建一個Bitmap圖片,並指定大小;

2、在該圖片上創建一個新的畫佈Canvas,然後在畫佈上繪制,並保存即可;

3、需要保存的目錄File,註意如果寫的目錄如“/sdcard/akai/”如果不存在的話,要先創建(file.mkdirs()),否則FileOutputStream會報錯No found;

4、需要添加權限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

摘自 阿凱的專欄

發佈留言