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

  • 相关阅读:
    js调用后台方法
    Js 实现trim方法
    Service获取客户端IP地址(java)
    ASP.NET中页面传值
    Asp.net 实现选择文件批量下载
    js调用后台代码
    获取webservice客户端IP地址 (C# java )
    使 WebBrowser 更简单的新加和执行 js, 可安装 jQuery 脚本的 C# 开源代码 IEBrowse...
    Mac下各种网络命令的使用
    Java关键字
  • 原文地址:https://www.cnblogs.com/zhoujian315/p/3272571.html
Copyright © 2011-2022 走看看