从SD卡中裁剪特定图像

时间:2012-08-31 10:23:24

标签: crop

我想裁剪sdcard中存在的图像。我的代码是:

Intent intent = new Intent("com.android.camera.action.CROP");

        Uri  uriOfImageToCrop = Uri.parse(Environment.getExternalStorageDirectory()+"/bookpage.jpg");
        intent.setDataAndType(uriOfImageToCrop, "image/*");
        intent.putExtra("outputX", 200);
        intent.putExtra("outputY", 200);
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("scale", true);
        intent.putExtra("noFaceDetection", true);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, uriOfImageCrop);
        startActivity(intent);

但它显示以下异常:  java.lang.IllegalStateException:目标主机不能为null,或者在参数中设置。 请有人帮帮我。

2 个答案:

答案 0 :(得分:1)

Android不再包含裁剪API。您需要创建自己的或导入如下: https://github.com/lvillani/android-cropimage

答案 1 :(得分:0)

您可以使用http://code.google.com/p/catalano-framework/

FastBitmap fb = new FastBitmap(bitmap);
int startX = 10;
int startY = 10;
int newWidth = 100;
int newheigth = 100;

Crop crop = new Crop(startX, startY, newWidth, newHeigth);
crop.applyInPlace(fb);