android 剪裁后的图片出现黑色边框

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


intent.setType("image/*");


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


intent.putExtra("aspectX", 2);


intent.putExtra("aspectY", 3);


// intent.putExtra("outputX", 511);
//
// intent.putExtra("outputY", 800);


intent.putExtra("scale", true);


intent.putExtra("return-data", false);


intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);


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


intent.putExtra("noFaceDetection", true); // no face detection


看到网上的demo,我们调用系统剪裁时一般都会设置这几个参数,但是问题来了,当我们定义了返回的图片大小过大,而我们实际的图片像素达不到时,系统为我们自动地填充了不够的像素成黑色,也就是其实剪裁出来的图片只是中间部分是我们想要的,其他的都是黑色的。怎么解决的呢:

1.// intent.putExtra("outputX", 511);
//
// intent.putExtra("outputY", 800); 不要这2个参数

2. 网上答案 加上这2个参数

intent.putExtra("scale",true);
intent.putExtra("scaleUpIfNeeded", true);

你可能感兴趣的:(android基础)