Android:编辑图像意图

Android:编辑图像意图,android,android-camera,Android,Android Camera,我发现了很多关于如何裁剪图像的问题。但是,是否有一种方法可以通过意图启动“编辑图像”活动。我尝试了com.android.camera.action.EDIT,但它不起作用。我想做的是,当我点击一个按钮时,开始编辑图像的活动,如下图所示: 就像我从图库中打开一幅图像,然后从菜单中单击“编辑”。找到了一个可用于此功能的库,效果非常好。可以找到库。这仅用于裁剪图像。我想要上面图片上的所有编辑选项尝试com.android.camera.action.EDITOR\u cropy您可以浏览andro

我发现了很多关于如何裁剪图像的问题。但是,是否有一种方法可以通过意图启动“编辑图像”活动。我尝试了
com.android.camera.action.EDIT
,但它不起作用。我想做的是,当我点击一个按钮时,开始编辑图像的活动,如下图所示:


就像我从图库中打开一幅图像,然后从菜单中单击“编辑”。

找到了一个可用于此功能的库,效果非常好。可以找到库。

这仅用于裁剪图像。我想要上面图片上的所有编辑选项尝试com.android.camera.action.EDITOR\u cropy您可以浏览android 4.2 gallery的AndroidManifest.xml,搜索“com.android.camera.action”
EDITOR\u CROP
是我要找的。有没有一种方法可以开始它,但不能开始修剪。只需启动编辑器,让用户选择他想做的事情。我试图删除
intent.putExtra(“裁剪”、“真”)但它不工作。还有一个问题:这在安卓3.2上行得通吗?因为我的应用程序应该支持3.2+我正在尝试这个例子。我尝试使用与输入文件和输出文件相同的路径,但它没有覆盖更改,而是创建了一个新的修改文件,文件名为IMG_xxx_xxx.jpg,还删除了输入文件。我只想裁剪图像并用相同的文件名保存回去。你应该在答案中添加一些解释!如果
startActivityForResult()
,则图像编辑器有三种可能的结果。用户编辑图像且结果代码为“活动”。结果\u确定
,用户不进行任何编辑,并单击“完成”或“保存”,具体取决于返回“活动”结果代码的编辑器。结果\u取消,或者用户按下后退按钮,返回活动的结果代码。结果\u已取消。为什么最后两个选项返回相同的resultCode值?你如何区分这两者呢?@toobsco42在我的例子中,不知何故,用户只能按“保存”,而没有任何其他动作触发
活动。结果\u OK
。你是怎么做到的?调用intent时是否还有其他参数需要设置?向我显示“没有应用程序可以执行此操作”是的,修复了它。谢谢。我看不出这如何回答你自己的问题,特别是说你不是在寻找一个简单的下降,而是一个图像版。
        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setDataAndType(yourimageuri, "image/*");
        intent.putExtra("crop", "true");
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("outputX", 640);
        intent.putExtra("outputY", 640);
        intent.putExtra("scale", true);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outPath);
        intent.putExtra("return-data", false);
        intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
        intent.putExtra("noFaceDetection", true);
        startActivityForResult(intent, CAMERA_CROP_RESULT);
Intent editIntent = new Intent(Intent.ACTION_EDIT);
editIntent.setDataAndType(uri, "image/*");
editIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(editIntent, null));