我在这个主题上找到了不少主题,但不幸的是没有人回答这个问题。我想裁剪一个未指定大小的图像,最后保存到新的图像。
此刻我做了什么(为了更好地观看,我遗漏了try / catch等):
Intent cropIntent = new Intent("com.android.camera.action.CROP");
cropIntent.setDataAndType(picUri, "image/*");
cropIntent.putExtra("crop", "true");
cropIntent.putExtra("outputX", 360);
cropIntent.putExtra("outputY", 360);
cropIntent.putExtra("return-data", true);
startActivityForResult(cropIntent, PIC_CROP);
我不知道用户是想要一个quadrat 360x360还是一个矩形1024x768等。是否有可能不指定具有固定值的outputx / Y?
答案 0 :(得分:2)
使用此库来裁剪图像。
https://github.com/biokys/cropimage
github源代码
// create explicit intent
Intent intent = new Intent(this, CropImage.class);
// tell CropImage activity to look for image to crop
String filePath = ...;
intent.putExtra(CropImage.IMAGE_PATH, filePath);
// allow CropImage activity to rescale image
intent.putExtra(CropImage.SCALE, true);
// if the aspect ratio is fixed to ratio 3/2
intent.putExtra(CropImage.ASPECT_X, 3);
intent.putExtra(CropImage.ASPECT_Y, 2);
// start activity CropImage with certain request code and listen
// for result
startActivityForResult(intent, REQUEST_CODE_CROP_IMAGE);