----------------------------------------------------------------------------------------------------------------------------
android中常见图片裁剪的问题,对于调用系统的裁剪方式一般如下:
private void cropImage(Uri uri, int outputX, int outputY, int requestCode) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "false");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 161);
intent.putExtra("outputY", 161);
//intent.putExtra("outputFormat", "JPEG");
//intent.putExtra("noFaceDetection", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, requestCode);
}
一般来说,设置了下面两句就会定下图片尺寸,也就是宽高比例,那么如果想宽高都自己滑动决定的话,可以不设置这两句:
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
下面两句是设置输出图片的尺寸的:
intent.putExtra("outputX", 161);
intent.putExtra("outputY", 161);经过测试,如果把值设置为160之上是没有效果的,只会返回160分辨率的图片,而对于设置160以下是有效果的。
具体原理还没研究。