手机照相或选择相册,类似新浪微博的图片处理

简介: 手机照相或选择相册,类似新浪微博的图片处理

拍照的

Java代码

btn1.setOnClickListener(new OnClickListener() {  
  
    @Override  
    public void onClick(View v) {  
  
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
  
        File out = new File(Environment.getExternalStorageDirectory(),  
                "camera.png");  
        Uri uri = Uri.fromFile(out);  
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);  
        xxActivity.startActivityForResult(intent, 3);  
                    }  
});

相册

Java代码

btn2.setOnClickListener(new OnClickListener() {  
  
        @Override  
        public void onClick(View v) {  
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);  
            intent.addCategory(Intent.CATEGORY_OPENABLE);  
            intent.setType("image/*");  
            intent.putExtra("crop", "true");  
            intent.putExtra("aspectX", 1);  
            intent.putExtra("aspectY", 1);  
            intent.putExtra("outputX", 80);  
            intent.putExtra("outputY", 80);  
            intent.putExtra("return-data", true);  
  
            xxActivity.startActivityForResult(intent, 2);  
                        }  
    });

处理的activity

Java代码

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        if (resultCode != RESULT_OK) {  
            return;  
        } else {  
  
            switch (requestCode) {  
            case 2:  
                Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");  
                Home.personalinfo.headbmp = cameraBitmap;  
                try {  
                    String str = saveMyBitmap(cameraBitmap);  
                  
  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
  
                break;  
  
            /* 拍照后保存图片,并跳到裁剪功能 */  
            case 3:  
  
                new saveAsy().execute("");  
                break;  
            }  
  
        }  
        super.onActivityResult(requestCode, resultCode, data);  
    }

saveAsy的方法

Java代码

class saveAsy extends AsyncTask<String, Object, String> {  
  
  
  
  
  
    @Override  
    protected String doInBackground(String... str) {  
        dispathBitmap();  
        Intent intent = new Intent("com.android.camera.action.CROP");  
        try {  
            intent.setData(Uri  
                    .parse(android.provider.MediaStore.Images.Media  
                            .insertImage(getContentResolver(),  
                                    storageUrl+"/camera.png", null, null)));  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        }  
        intent.putExtra("crop", "true");  
        intent.putExtra("aspectX", 1);  
        intent.putExtra("aspectY", 1);  
        intent.putExtra("outputX", 80);  
        intent.putExtra("outputY", 80);  
        intent.putExtra("return-data", true);  
        startActivityForResult(intent, 2);  
  
        return "";  
    }  
  
    @Override  
    protected void onPostExecute(String bmp) {  
        super.onPostExecute(bmp);  
  
    }  
  
}


相关文章
|
移动开发 JSON 编解码
Vue3+Node写个免费在线图库生成器,三步将你的手机相册搬到线上
一个 Vue3 + Node 快速生成漂亮的在线相册的项目,纯前端的项目,不需要开发后端,没有数据库,只需要把照片丢进去,Git提交一下站点就出来了。
Vue3+Node写个免费在线图库生成器,三步将你的手机相册搬到线上
|
小程序 前端开发 JavaScript
微信小程序 | 使用 canvas 生成朋友圈分享图片并保存到手机相册
小程序只能转发给好友,或者转发到微信群,并不能转发到朋友圈,那么朋友圈的巨大流量应该怎么利用起来呢?
688 0
小程序 — 保存图片到手机相册②(用户授权等)
前言:上章基本实现保存图片到手机相册的功能了,但是还有这么几个问题没有解决,本章解决这几个问题。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、授权问题 (1)如果用户第一次点击的时候,对弹出来的微信授权弹窗点击了拒绝,那么之后点击保存图片就没用了: 如果用户第一次点击了拒绝授权 (2)所以我们应该做下用户授权判断,首先我们应该调用wx.getSetting(OBJECT)方法获取用户的当前设置,看看用户请求过的权限中是否存在保存到相册这个权限。
3054 0
|
API
小程序 — 保存图片到手机相册①
讲一下在微信小程序中,怎么把网络图片保存到本机相册中;这个功能其实在小程序开发中还是很常见的,比如保存海报之类的等等。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、保存图片 (1)要保存图片到手机相册中,所以首先我们来看看保存图片的api方法是什么? 我们使用的是wx.saveImageToPhotosAlbum(OBJECT)这个api方法,其中OBJECT的参数可以是: 图片来源自小程序官网 请注意我红框标记的部分, 不支持网络图片路径。
1507 0
|
Android开发
android --拍照,从相册获取图片,兼容高版本,兼容小米手机
前几天做项目中选择图片的过程中遇到高版本和小米手机出现无法选择和崩溃的问题,现在记录下来,后面出现同类问题,也好查找 1,定义常量: private static final int TAKE_PICTURE = 3; private static final int CHOOSE_PIC...
1463 0
|
Android开发
Android设置头像,手机拍照或从本地相册选取图片作为头像
 【Android设置头像,手机拍照或从本地相册选取图片作为头像】 像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。
1431 0