获取相机或者相册中的图片,并且塞入ImageView中

获取相机或者相册中的图片,并且塞入ImageView中

跳转相机 一句代码的事情

startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), 0);

跳转相册并且裁剪,要是不想裁剪 把裁剪的代码去掉即可

                    Intent intent = new Intent(
                    Intent.ACTION_GET_CONTENT);

                    intent.putExtra("return-data", true);
                    intent.setType("image/*");
                    // TODO 剪裁
                    intent.putExtra("crop", "circleCrop");
                    // TODO 裁剪比例
                    intent.putExtra("aspectX", 1);
                    intent.putExtra("aspectY", 1);
                    // TODO 裁剪大小
                    intent.putExtra("outputX", 240);
                    intent.putExtra("outputY", 240);
                    startActivityForResult(intent, 1);

我们通过startActivityForResult跳转并且选择图片之后 回到了onActivityForResult中

        if (requestCode == 0 || requestCode == 1) {
        if (data != null) {
            LogUtils.printLog("RedWolf", "从相机中返回的数据 data+" + data.toString());
            //从相册或相机中获取的照片
            LogUtils.printLog("RedWolf", "从相机中返回的数据 data+" + data.getExtras());

            Bitmap mBitmap = (Bitmap) data.getExtras().get("data");


            File localimg = new File(Environment.getExternalStorageDirectory().getAbsoluteFile(), "srcs");
            if (!localimg.exists()) {
                localimg.mkdirs();
            }
            File iconfile = new File(localimg.getAbsolutePath() + "/usericon.jpg");
            if (iconfile.exists()) {
                iconfile.delete();
            }
            OutputStream out = null;
            try {
                out = new FileOutputStream(iconfile);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            //2、写入本地
            mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
            //3、塞入ImageView中
            mImageView.setImageBitmap(mBitmap);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值