我正在使用takePicture function in the Camera连续拍摄照片并将其存储在平板电脑上。我需要知道如何在调用takePicture时裁剪存储的数据。或者,如果这不可能,那么我需要知道如何读取图像,然后使用其他方式进行裁剪。到目前为止,我发现此问题的唯一解决方案是打开另一个应用程序进行裁剪。任何帮助表示赞赏。

最佳答案

您可以尝试以下代码来裁剪图像:


final String Path = "sdcard/test.jpg";
 Bitmap bitmap = BitmapFactory.decodeFile(Path);
 ivSign.setImageBitmap(Bitmap.createScaledBitmap(bitmap, 150, 150, true));
 Intent cropIntent = new Intent("com.android.camera.action.CROP");
 // indicate image type and Uri
 cropIntent.setDataAndType(Uri.fromFile(new File(Path)), "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", 256);
 cropIntent.putExtra("outputY", 256);
 // retrieve data on return
 cropIntent.putExtra("return-data", true);
 // start the activity - we handle returning in onActivityResult
 startActivityForResult(cropIntent, 1);

09-13 02:01