具有未指定大小的Android裁剪图像

时间:2013-10-11 15:43:40

标签: java android image android-intent crop

我在这个主题上找到了不少主题,但不幸的是没有人回答这个问题。我想裁剪一个未指定大小的图像,最后保存到新的图像。

此刻我做了什么(为了更好地观看,我遗漏了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?

1 个答案:

答案 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);