如何使用裁剪选项直接打开图像
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
我想裁剪图片,我可以实现。
我的代码是
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