我想裁剪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,或者在参数中设置。 请有人帮帮我。
答案 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);