我使用此代码开始裁剪活动,并将裁剪后的图片作为 onActivityResult 中的数据返回。所以这很好用。
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
List<ResolveInfo> list = getPackageManager().queryIntentActivities(
intent, 0);
int size = list.size();
if (size == 0) {
Toast.makeText(this, "Can not find image crop app",
Toast.LENGTH_SHORT).show();
return;
} else {
intent.setData(mImageCaptureUri);
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
Intent i = new Intent(intent);
ResolveInfo res = list.get(0);
i.setComponent(new ComponentName(res.activityInfo.packageName,
res.activityInfo.name));
startActivityForResult(i, CROP_FROM_CAMERA);
这是将图像裁剪为 200x200 大小的代码,与我在裁剪活动中选择的纵横比无关。我担心的是,我想要在活动中使用矩形选择的纵横比,而不是通过放置数字 200 和 200 来固定。
但是当我注释掉这两行时,我的程序将强制关闭....
是否有任何解决方案可以精确地裁剪到我在裁剪活动中选择的图片部分,同时保持我放置在图片上的矩形的纵横比?我必须添加哪些数据作为额外数据?需要帮忙!