调用系统Intent的com.android.camera.action.CROP照片剪辑时,如果
intent.putExtra("outputX", imageWidth);
intent.putExtra("outputY", imageHight);
中的imageWidth*imageHight大于了255的平方,则不能返回正常的bitmap,导致图片无法设置。
代码如下:
public void startPhotoZoom(Uri uri,int imageWidth,int imageHight) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra("crop", "true");
System.out.println(imageWidth+"=======!!!!"+imageHight);
intent.putExtra("aspectX", imageWidth);
intent.putExtra("aspectY", imageHight);
// outputX outputY 是裁剪图片宽高
intent.putExtra("noFaceDetection", true);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 300);
intent.putExtra("return-data", true);
startActivityForResult(intent, PHOTORESOULT);
}if (requestCode == PHOTORESOULT) {
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap bitmap = extras.getParcelable("data");
ima.get(choiceImageView).setImageBitmap(bitmap);
}
}
只有在m9上才有这个问题,请解答。谢谢
如果不使用这种方法,那么该如何做才能让用户自己决定剪裁哪块地方呢?