我正在尝试开发一个小型裁剪应用程序。我将像在通常的条形码扫描仪中一样在相机窗口上使用叠加。但我想在用户点击图片后裁剪图像的叠加部分,然后只存储非叠加部分。我尝试了原生裁剪功能,但它告诉用户选择裁剪部分。我想直接裁剪照片并将其保存在图库中。我怎么能实现这个?
现在我使用以下代码进行裁剪....
private void performCrop() {
// TODO Auto-generated method stub
//call the standard crop action intent (the user device may not support it)
Intent cropIntent = new Intent("com.android.camera.action.CROP");
//indicate image type and Uri
cropIntent.setDataAndType(picUri, "image/*");
//set crop properties
cropIntent.putExtra("crop", "true");
//indicate aspect of desired crop
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);
//indicate output X and Y
cropIntent.putExtra("outputX", 256);
cropIntent.putExtra("outputY", 256);
//retrieve data on return
cropIntent.putExtra("return-data", true);
//start the activity - we handle returning in onActivityResult
startActivityForResult(cropIntent,AppUtils.PIC_CROP);
}
答案 0 :(得分:0)
我假设您的原始图片有Bitmap
个实例。在这种情况下,只需使用Bitmap.createBitmap()
选择您需要的区域。
Bitmap cropped = Bitmap.createBitmap(bitmap, left, top, width, height);