Android Activity之間傳遞圖片(Bitmap)


在Android開發中;Activity之間傳遞參數是常見的事;如果我們要在Activity之間傳遞圖片;
1。MainActivity中包括一個ImageView;當我們點擊ImageView時;把圖片傳遞給另外一個Activity

  MainActivity的主要代碼:

            Intent intent=new Intent(MainActivity.this,TranActivity.class);
            intent.putExtra("bitmap", bitmap);
            startActivity(intent);

  biitmap是 在onCreate方法中獲得的圖片對象 bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);

我們點擊圖片的時候,跳轉到TranActivity中;並且傳遞一個Bitmap作為參數

 

2。在TranActivity中接收MainActivity傳遞過來的Bitmap;

  

        imageview=(ImageView)findViewById(R.id.trans_imageview);
        Intent intent=getIntent();
        if(intent!=null)
        {
            bitmap=intent.getParcelableExtra("bitmap");
            imageview.setImageBitmap(bitmap);
        }

在TranActivity中獲取Bitmap並給ImageView用來顯示圖片

  缺點

  如果傳遞的圖片比較大;會出現:android.os.TransactionTooLargeException

3。通過接受圖片之后,可以放大圖片

  

imageview = (ImageView) findViewById(R.id.trans_imageview);
        Intent intent = getIntent();
        if (intent != null) {
            bitmap = intent.getParcelableExtra("bitmap");
            
            Matrix matrix = new Matrix(); //接收圖片之后放大 1.5倍
            matrix.postScale(1.5f, 1.5f);
            Bitmap bit = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
                    bitmap.getHeight(), matrix, true);

            imageview.setImageBitmap(bit);
        }

運行效果

 

 

TranActivity;放大之后效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM