0

我想裁剪 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:目标主机不能为空,或在参数中设置。任何人都可以帮助我吗?

4

2 回答 2

1

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

于 2012-11-08T23:07:08.890 回答
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);
于 2013-08-24T12:47:45.283 回答