调用系统的裁剪功能裁剪图片

public void cropImage(Uri data) {
		Intent intent = new Intent("com.android.camera.action.CROP");
		intent.setDataAndType(data, "image/*");
		intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
		intent.putExtra("aspectX", 2);// 这两项为裁剪框的比例.
		intent.putExtra("aspectY", 3);// x:y=1:2
		// intent.putExtra("outputFormat", "JPEG");// 返回格式
		intent.putExtra("noFaceDetection", true);
		intent.putExtra("return-data", true);
		startActivityForResult(Intent.createChooser(intent, "选择工具裁剪高亮区域"),
				GETCROPIMAGE);
	}

上面这段代码是通过传入一个图片的Uri直接进行剪切的,然后就是重写系统的一个方法

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);
		if (resultCode == RESULT_OK) {
			if (requestCode == GETCROPIMAGE) {
				Bundle bun = data.getExtras();
				Bitmap bmp = (Bitmap) bun.get("data");
		
			}
		}
	}
上面这个方法就是获取到剪切完毕的图片的方法,当然我们可以在这里进行图片的保存,将剪切完毕的图片保存到sdcard,另外我们也可以通过在剪切方法cropImage中设置Intent的属性来进行保存,方法设置: Intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); MediaStore.EXTRA_OUTPUT 相当于“output”,即也可写作,intent.putExtra("output",uri);好了以上就是图片剪切的简单方法,写的不好忘大家指点

你可能感兴趣的:(工具,output)