Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 多媒體開發學習之創建圖片的副本

Android 多媒體開發學習之創建圖片的副本

編輯:關於Android編程

什麼叫創建圖片的副本? 因為我們直接從BitmapFactory取出來的圖片是可讀的,是不可以修改的。 假設用戶想修改這張圖片,一般是先根據原圖在內存中創建和原圖一模一樣大小的圖片,然後在上面修改,用戶感覺好像是在原圖上修改了,其實不然。

 

 

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //1: 先需要獲取到原圖片. 注意:我們獲得的圖片是只讀的,是不能寫的,如果想修改圖片,就得創建圖片的copy
        Bitmap bmsRc = BitmapFactory.decodeResource(getResources(), R.drawable.abc);
        
        //2:創建圖片的copy,可以在內存中創建一個和原圖一模一樣大小的bitmap
        Bitmap bmCopy = Bitmap.createBitmap(bmsRc.getWidth(), bmsRc.getHeight(), bmsRc.getConfig());
        
        //2.1 創建一個畫筆
        Paint paint = new Paint();
        
        //2.2 創建畫板對象
        Canvas canvas = new Canvas(bmCopy);
        
        //2.3 開始繪制和原圖一模一樣
        canvas.drawBitmap(bmsRc, new Matrix(), paint);
        
        //在圖片上繪制一條直線,代表圖片的副本是可以修改的
        canvas.drawLine(30, 30, 400, 400, paint);
        
        ImageView iv_src = (ImageView) findViewById(R.id.lv1);
        ImageView iv_copy = (ImageView) findViewById(R.id.lv2);
        
        //顯示
        iv_src.setImageBitmap(bmsRc);
        iv_copy.setImageBitmap(bmCopy);
    }
}
其實創建圖片的副本很簡單,就如上代碼描述一樣

 

效果圖如下:

\

可以明顯的看見,第二張圖片是可以修改的。


 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved