Android的中会用到的获取头像的功能
16 Apr 20131.1 ACTION_PICK的使用
通过相册获取图片
Intent intent = new Intent(Intent.ACTION_PICK); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, 1);
1.2 ACTION_IMAGE_CAPTURE的使用
通过相机获取图片
File file = new File(Environment.getExternalStorageDirectory(), "avatar.png"); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); startActivityForResult(intent, 2);
1.3 com.android.camera.action.CROP的作用
有时候获取到的图片需要裁剪一下。
File file = new File(Environment.getExternalStorageDirectory(), "temp.png"); Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); intent.putExtra("crop", "true"); // aspectX aspectY 是宽高的比例 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); // outputX outputY 是裁剪图片宽高 intent.putExtra("outputX", 250); intent.putExtra("outputY", 250); // 把图片的数据以Uri的形式返回 //intent.putExtra("return-data", true); // 有时候为了方便,直接把裁剪好以后的图片直接保存到本地SD卡上 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); // 输出的格式 intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString()); startActivityForResult(intent, 3);