zoukankan      html  css  js  c++  java
  • 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;放大之后效果

  • 相关阅读:
    jQ的工具类方法
    jq-ajax
    jq-ajax-get
    LOAD
    JQ的尺寸类
    JQ-DOM与元素的操作
    jQ-DOM属性的操作
    jQ的事件
    3位创业公司CEO亲述:200人的小公司,这么做数据管理就对了
    十二潜意识的智商
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3272571.html
Copyright © 2011-2022 走看看