尝试裁剪资源文件夹中的图像时发生无法加载照片错误

Posted

技术标签:

【中文标题】尝试裁剪资源文件夹中的图像时发生无法加载照片错误【英文标题】:unable to load photo error is occur when image from a resource folder is try to crop 【发布时间】:2015-01-07 07:47:33 【问题描述】:
   //crop intent of camera
   Intent cropIntent=new Intent("com.android.camera.action.CROP"); 
   //get a file from a resource folder
   File f=new File("android.resource://"+this.getResources().getResourceName(R.drawable.i10)+".jpg");
  Toast.makeText(this,f.getPath(),5).show();
      f.setWritable(true);
      f.setExecutable(true);
      f.setReadable(true);
       //set data to a Intent
      cropIntent.setData(Uri.parse(f));
      cropIntent.setType("image/*");
      cropIntent.putExtra("crop",true);
      cropIntent.putExtra("aspectX", 1);
      cropIntent.putExtra("aspectY", 1);
      cropIntent.putExtra("outputX", 256);
      cropIntent.putExtra("outputY", 256);
      cropIntent.putExtra("return-data", true);
      cropIntent.putExtra("scale",true);
      startActivityForResult(cropIntent, 2);
       //start activity
       Toast.makeText(this,"croping",5).show();

'当我打开裁剪活动时,它会抛出无法加载图像的 toast 消息

【问题讨论】:

没有演示吗? 我想动态打开一个 res 文件,因为当裁剪 Intent 打开时,它会显示 toast 消息,因为文件没有数据。 【参考方案1】:

首先确保照片的路径正确(存在)

如果没问题,但您仍然遇到同样的问题,试试这个。

cropIntent.setDataAndType(Uri.parse(f), "image/*");

我在照片裁剪方面也遇到了一些问题。 setData 和 setType 分别给我一个错误,我的手机不支持裁剪(它支持)。

如果文件存在,创建一个这样的 URI。

Uri.fromFile(new File("/rootexample/example/myfile.jpg"));

【讨论】:

不,此路径不正确,因为每当我检查该文件是否存在时,它将返回 false 所以现在的问题是我如何从资源文件夹中获取文件并传入意图

以上是关于尝试裁剪资源文件夹中的图像时发生无法加载照片错误的主要内容,如果未能解决你的问题,请参考以下文章

从 Google 照片库加载图像以进行裁剪

填充collectionView单元格图像时从Firebase加载错误的照片并非每次都发生

如何使用 OpenCV 裁剪图像中的白色斑块并制作护照大小的照片

裁剪图像而不加载到内存中

加载照片库图像时发生错误:错误:FigCreateCGImageFromJPEG 返回 -12910。 423114 字节。我们将退回到软件解码

新上传的照片出现 404 错误。如果我停止然后运行网站,图像会加载