未指定大小的 Android 裁剪图像
Posted
技术标签:
【中文标题】未指定大小的 Android 裁剪图像【英文标题】:Android Crop Image with unspecified size 【发布时间】:2013-10-11 15:43:40 【问题描述】:我找到了很多关于该主题的主题,但不幸的是,没有一个可以回答这个问题。我想裁剪一个未指定大小的图像,最后保存到新图像。
我现在在做什么(为了更好地查看我省略了 try/catch 等):
Intent cropIntent = new Intent("com.android.camera.action.CROP");
cropIntent.setDataAndType(picUri, "image/*");
cropIntent.putExtra("crop", "true");
cropIntent.putExtra("outputX", 360);
cropIntent.putExtra("outputY", 360);
cropIntent.putExtra("return-data", true);
startActivityForResult(cropIntent, PIC_CROP);
我不知道用户是否想要一个 360x360 的样方或一个 1024x768 的矩形等。有没有可能不使用固定值指定 outputx/Y?
【问题讨论】:
你有没有办法让它在未指定的大小和纵横比下工作? 不幸的是还没有 【参考方案1】:改用这个库来裁剪图像。
https://github.com/biokys/cropimage
github源码
// create explicit intent
Intent intent = new Intent(this, CropImage.class);
// tell CropImage activity to look for image to crop
String filePath = ...;
intent.putExtra(CropImage.IMAGE_PATH, filePath);
// allow CropImage activity to rescale image
intent.putExtra(CropImage.SCALE, true);
// if the aspect ratio is fixed to ratio 3/2
intent.putExtra(CropImage.ASPECT_X, 3);
intent.putExtra(CropImage.ASPECT_Y, 2);
// start activity CropImage with certain request code and listen
// for result
startActivityForResult(intent, REQUEST_CODE_CROP_IMAGE);
【讨论】:
只有一个问题,可以不设置固定比例吗?我想让用户决定图像应该有多大 尝试评论您将宽高比值设置为额外意图的行。看看它是否有效 我试过了,但是得到了一个空指针。似乎也有这个裁剪图像功能,没有办法真正让用户裁剪未定义大小的图像 将检查源代码,看看是否能找到解决方案以上是关于未指定大小的 Android 裁剪图像的主要内容,如果未能解决你的问题,请参考以下文章