• 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;放大之后效果

  • 相关阅读:
    武汉长途汽车票自动查询软件皱形(纯属练手)
    用gSOAP开发Web Service程序
    窗口的子类化与超类化
    Thunk技术
    Nokia 牵手 Windows Phone 7?
    数据库自动打包压缩工具,asp.net + ATL完美组合
    诺基亚宣布与微软达成战略合作
    DataBinder.Eval总结
    人际关系的55个绝招看完又发现,其实看不完
    .NET 中的对象序列化
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3272571.html
Copyright © 2020-2023  润新知