0

我正在尝试打开我的可绘制图像以裁剪意图。

但我得到这个错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.android.camera.action.CROP dat=android.resource:/com.example.jain/drawable/b typ=image/* (has extras) }

代码:

final Uri selectedImage = Uri.parse("android.resource:/com.example.jain/drawable/b");
    final Intent intent = new Intent("com.android.camera.action.CROP");

    intent.setDataAndType(selectedImage, "image/*");

    intent.putExtra("crop", "true");
    intent.putExtra("scale", true);

    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);

    intent.putExtra("outputX", width);
    intent.putExtra("outputY", width);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, FileUtils.getTempUri());
    intent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.toString());
            startActivityForResult(intent, 1);
4

1 回答 1

0

试试这种方式:

Uri imgUri=Uri.parse("android.resource://your.package.name/"+R.drawable.image);
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", 80);  
intent.putExtra("outputY", 80);  
intent.putExtra("return-data", true);
startActivityForResult(intent, 1);

your.package.name 用你的情况替换你的包名com.example.jain

如何在 android 上选择和裁剪图像是裁剪图像的好例子。

然后在 Activity 的 onActivityResult() 方法中处理你需要做的事情。您的输出文件应该是裁剪后的图像。

这取决于设备是否支持它。此 Intent 操作不是内部 API 的一部分。一些制造商提供自己的图库应用程序,因此无法知道用户的设备是否会识别 Intent。请不要忘记这个!!:)

于 2013-08-14T12:27:29.107 回答