详细&来源http://www.linuxidc.com/Linux/2012-11/73940p2.htm

准备url

try {

//若在activity中使用 就不用getActivity()

String dir =getActivity().getExternalCacheDir().getAbsolutePath();

File file = new File(dir+"/"+Config.HEAD_IMG_FILENAME);

if (!file.exists()){

file.createNewFile();

}

imageUri = Uri.fromFile(file);

} catch (IOException e) {

e.printStackTrace();

}

启动选择并裁剪

Intent it = new Intent(Intent.ACTION_GET_CONTENT, null);

it.setType("image/*");

it.putExtra("crop", "true");

it.putExtra("aspectX", 1);

it.putExtra("aspectY", 1);

it.putExtra("outputX", 128);

it.putExtra("outputY", 128);

//将图片保存到uri的位置 imageUri=Uri.fromFile(xxx);

it.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

it.putExtra("scale", true);//黑边

it.putExtra("scaleUpIfNeeded", true);//黑边

it.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());

it.putExtra("return-data", true);

startActivityForResult(it,Config.CROP_IMG_CODE);

选择结束

@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == Config.CROP_IMG_CODE && data != null){

try {

Bitmap bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(imageUri)) ivHead.setImageBitmap(bitmap);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐