我使用意图裁剪来裁剪图像文件:
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
新宽度是原始宽度。新高度是新(也是原始)宽度的一半,比原始宽度小一点。
Uri imageCaptureUri = Uri.fromFile(pictureFile);
intent.setData(imageCaptureUri);
intent.putExtra("crop", "true");
intent.putExtra("outputX", mCameraPreview.mCameraSize.width); // mCameraPreview.mCameraSize.width is the picture size I set for camera parameters; so it is also the photo's width.
intent.putExtra("outputY", mCameraPreview.mCameraSize.width/2);
intent.putExtra("aspectX", 2);
intent.putExtra("aspectY", 1);
intent.putExtra("return-data", false);
注意:mCameraPreview.mCameraSize.width是我为相机参数设置的图片尺寸;所以它也是照片的宽度。通过调试,我已经确认它等于照片的宽度。但是在裁剪意图的 UI 上,裁剪矩形并没有像原来的宽度那样延伸。裁剪矩形宽度约为原始宽度的 3/5。
由于 com.android.camera.action.CROP 没有记录,我不知道什么应该是正确的方法。
提前致谢!