实际上现在我正在继续我的裁剪部分,因为我需要在高度和宽度的四个方面裁剪我的图像,但是我无法选择我在本教程中使用的高度。
http://www.coderzheaven.com/2012/12/15/crop-image-android/
我需要的就像上面的图像一样,可以在各方面进行调整。
任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
答案 1 :(得分:2)
Intent com.android.camera.action.CROP 不是标准的android意图,并且有许多设备不支持此意图。请参阅this SO帖子中的答案。我正在使用github的库来进行裁剪。
答案 2 :(得分:1)
你可以使用这个功能
private void doCrop(Uri mImageCaptureUri) {
this.mImageCaptureUri = mImageCaptureUri;
Intent intent = new Intent("com.android.camera.action.CROP");
// intent.setType("image/*");
intent.setDataAndType(mImageCaptureUri, "image/*");
List<ResolveInfo> list = getPackageManager().queryIntentActivities(
intent, 0);
int size = list.size();
if (size == 0) {
// Toast.makeText(this,
// "Can not find image crop section",Toast.LENGTH_SHORT).show();
return;
} else {
// Toast.makeText(this,
// "image crop section started..",Toast.LENGTH_SHORT).show();
intent.setData(mImageCaptureUri);
// Bitmap bitmap_1 = readBitmap(mImageCaptureUri);
try {
bitmap = MediaStore.Images.Media.getBitmap(
this.getContentResolver(), mImageCaptureUri);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}// = bitmap_1;
new MydataLoader().execute(function.sendimage);
// changed
intent.putExtra("outputX", 200);
intent.putExtra("outputY", 200);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
// Log.e("size",""+size);
if (size >= 1) {
// Toast.makeText(MerchantLogin.this,
// "Cropimage got called with size"+ size,
// Toast.LENGTH_SHORT).show();
Intent i = new Intent(intent);
ResolveInfo res = list.get(0);
i.setComponent(new ComponentName(res.activityInfo.packageName,
res.activityInfo.name));
startActivityForResult(i, CROP_FROM_CAMERA);
} else {
// Toast.makeText(MerchantLogin.this,
// "Cropimage not get called", Toast.LENGTH_SHORT).show();
}
}
}
调用相机使用意图的作物动作“com.android.camera.action.CROP”
答案 3 :(得分:0)
答案 4 :(得分:0)
试试这个库:
https://github.com/biokys/cropimage
对于一个广场:
intent.putExtra(CropImage.ASPECT_X, 2);
intent.putExtra(CropImage.ASPECT_Y, 2);
对于矩形:
intent.putExtra(CropImage.ASPECT_X, 3);
intent.putExtra(CropImage.ASPECT_Y, 2);