用于裁剪的android图像预览示例

时间:2014-04-18 04:13:47

标签: android camera surfaceview crop preview

许多应用程序(如Facebook)都具有此功能,在用户从其设备库中选择图像后,用户可以进行预览,从而可以选择其图像的裁剪版本。在查看了SO(例如How to crop image on camera preview "Goggles style" - Android)之后,我找到了一个示例this link,但是zip似乎是待售(CameraPreview.zip)。由于那篇文章有点陈旧,我想知道是否有人知道那里的另一个例子,或者他们是否知道如何去做,请分享你的知识。感谢。

1 个答案:

答案 0 :(得分:3)

尝试以下代码,根据您的要求更改参数:

Intent cropIntent = new Intent("com.android.camera.action.CROP");
//indicate image type and Uri
cropIntent.setDataAndType(fileUri, "image/*");
//set crop properties
//cropIntent.putExtra("crop", "true");
//indicate aspect of desired crop
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);

//indicate output X and Y
cropIntent.putExtra("outputX", 350);
cropIntent.putExtra("outputY", 350);
//retrieve data on return
//cropIntent.putExtra("return-data", true);
// some code to retriev an valid Uri
cropUri =  Uri.fromFile(getOutputMediaFile(MEDIA_TYPE_IMAGE));
 cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, cropUri);
//start the activity - we handle returning in onActivityResult
startActivityForResult(cropIntent, CROP_REQ_CODE);

您可以在OnActivityResult()

中使用输出
Bundle extras = data.getExtras();
//get the cropped bitmap
clickedPhoto = extras.getParcelable("data");