目前我正在使用默认的android相机意图裁剪图像。但这在某些设备中不能正常工作。在纯android设备中,不会调用crop或返回数据为空。有没有其他方法可以达到同样的效果。
目前我使用以下代码开始裁剪,

Intent cropIntent = new Intent("com.android.camera.action.CROP");
cropIntent.setType("image/*");
if(picUri != null) {
    cropIntent.setDataAndType(picUri, "image/*");
}
String tmpName = imageDir.getAbsolutePath() + File.separator + "img.jpg";
File tmpFile = new File(tmpName);
if (tmpFile.exists()) {
    tmpFile.delete();
}
Uri tmpUri = Uri.fromFile(tmpFile);
cropIntent.putExtra("crop", "true");
cropIntent.putExtra("aspectX", 16);
cropIntent.putExtra("aspectY", 9);
cropIntent.putExtra("outputX", 320);
cropIntent.putExtra("outputY", 180);
cropIntent.putExtra("return-data", true);
cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, tmpUri);
startActivityForResult(cropIntent, PIC_CROP);

最佳答案

看看this图书馆。这支持在不使用相机裁剪意图的情况下裁剪图像。它还支持许多其他特性,如旋转等,易于实现
提供的sample也写得很好。

10-08 18:27