我正在使用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);