如何使用裁剪选项直接打开图像

How to open Image directly with crop option

我想裁剪图片,我可以实现。

我的代码是

Intent cropIntent = new Intent(Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);         
        cropIntent.setDataAndType(fileUri, "image/*");
        // set crop properties
        cropIntent.putExtra("crop", "true");    
        cropIntent.putExtra("return-data", true);       
        startActivityForResult(cropIntent, CROP_PIC);

其中 fileUri 包含我要从图库中裁剪的图像路径的 URI。

使用此代码会打开一个警报以选择 select 图片的应用程序,我想知道虽然我已经通过了图片路径然后为什么它要求 select 应用程序打开图片并且当我 select 应用程序(通过图库)然后我必须从图库中选择图像进行裁剪。

我想要一个解决方案,使用它我的图像只使用裁剪选项打开而不要求 select 应用程序打开?

可能吗?请帮助我实现它...

试试这个:

     String filename = "image.png";
     String path = "/mnt/sdcard/" + filename;
     File f = new File(path);  //  
     Uri imgUri= Uri.fromFile(f);  
     Intent intent = new Intent("com.android.camera.action.CROP");  
            intent.setDataAndType(imgUri, "image/*");  
            intent.putExtra("crop", "true");  
            intent.putExtra("aspectX", 1);  
            intent.putExtra("aspectY", 1);  
            intent.putExtra("outputX", 50);  
            intent.putExtra("outputY", 50);  
            intent.putExtra("return-data", true);
            startActivityForResult(intent, 1);

使用原生作物不是很好的解决方案,因为每种作物的行为都不同。我遇到了一些错误,因为无法保存文件,宽高比不正确,也许还有其他错误。
我认为从图库中挑选照片后使用自定义裁剪库的最佳解决方案。
有一些很好的库,例如 https://github.com/jdamcd/android-crop or https://github.com/lvillani/android-cropimage or https://github.com/edmodo/cropper