android启动系统的图片裁剪工具的方法
/**
* 裁剪图片
* @param activity 启动裁剪图片的Activity
* @param uri 图片的uri路径
* @param savePath 裁剪后图片的保存路径,如果不想保存的话传null或者“”
* @param aspectX 裁剪时X轴的比例
* @param aspectY 裁剪时Y轴的比例
* @param outputX 裁剪图片输出的X轴的长度
* 如果savePath为null或者“”,在onActivityResult中接收系统默认返回的是裁剪的缩略图,使用data.getExtras().get("data");接收。
* 该方法以startActivityForResult的方式启动系统的裁剪工具,requestCode为GET_CROP_IMAGE,(值自己设置)
*/
public static void cropImage(Activity activity,Uri uri,String savePath,int aspectX,int aspectY,int outX)
{
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
//下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", outX);
intent.putExtra("outputY", outX*aspectY/aspectX);
if (TextUtils.isEmpty(savePath))
{
intent.putExtra("return-data", true);
}else {
File saveFile=new File(savePath);
intent.putExtra("return-data", false);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(saveFile));
}
activity.startActivityForResult(intent, GET_CROP_IMAGE);
}