我正在尝试打开我的可绘制图像以进行裁剪。
但是我收到了这个错误:
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);
答案 0 :(得分: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
How to select and crop image on android是裁剪图片的好例子。
然后在Activity的onActivityResult()方法中处理您需要做的事情。您的输出文件应该是裁剪后的图像。
取决于设备该设备是否支持它。 此Intent操作不是内部API的一部分。一些制造商提供他们自己的Gallery应用程序,因此无法知道用户的设备是否会识别Intent。 请不要忘记这一点!! :)