安卓调用系统截图方法

/**
* 开始裁剪
*
* @param uri
*/
public static Uri startCrop5InFragment(Uri uri, Fragment fragment, int width, int height) {
Intent intent = new Intent("com.android.camera.action.CROP");//调用Android系统自带的一个图片剪裁页面,
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra("crop", "true");//进行修剪
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", width);
intent.putExtra("outputY", height);
//intent.putExtra("return-data", true);

/**
* 此方法返回的图片只能是小图片(sumsang测试为高宽160px的图片)
* 故将图片保存在Uri中,调用时将Uri转换为Bitmap,此方法还可解决miui系统不能return data的问题
*/
//intent.putExtra("return-data", true);

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

//uritempFile为Uri类变量,实例化uritempFile
Uri uritempFile = Uri.parse("file://" + "/" + Environment.getExternalStorageDirectory().getPath() + "/" + "small.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, uritempFile);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());

fragment.startActivityForResult(intent, CROP_REQUEST_CODE5);
return uritempFile;
}

猜你喜欢

转载自blog.csdn.net/qq_15867901/article/details/79259136