相机、相册

首先我们先导入权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA"/>
 //拍照
        paizhao.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                intent.addCategory("android.intent.category.DEFAULT");
                startActivityForResult(intent, 1000);
            }
        }); //相册
        xiangce.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_PICK);
                intent.setType("image/*");
                startActivityForResult(intent, 2000);
            }
        }); //取消
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pop.dismiss();
            }
        });
    }
});
@Override public void onActivityResult(int requestCode,int resultCode,Intent data){
        // TODO Auto-generated method stub 
        super.onActivityResult(requestCode,resultCode,data);
        if(requestCode==1000){Bitmap bitmap=data.getParcelableExtra("data");
        icon.setImageBitmap(bitmap);pop.dismiss();
        }
        if(requestCode==2000){Uri uri=data.getData();icon.setImageURI(uri);pop.dismiss();
        }
        if(requestCode==3000){Bitmap bitmap=data.getParcelableExtra("data");icon.setImageBitmap(bitmap);
        }}
//裁剪
private void crop(Uri uri){
    Intent intent=new Intent("com.android.camera.action.CROP");
    intent.setDataAndType(uri,"image/*");intent.putExtra("crop","true");
//裁减比例1:1
        intent.putExtra("aspectX",1);intent.putExtra("aspectY",1);
//裁剪后图片大小
        intent.putExtra("outputX",250);intent.putExtra("outputY",250);
        intent.putExtra("outputFormat","JPEG");
        intent.putExtra("noFaceDatection",false);
        intent.putExtra("return-data",true);startActivityForResult(intent,3000);
}

猜你喜欢

转载自blog.csdn.net/weixin_43747497/article/details/86559288