如何限制android中图像的最小可裁剪尺寸

关于如何裁剪从图库或相机拍摄的图像有很多话题.一个非常简单的,不是很多人喜欢的,包括以下片段

intent.putExtra("crop", "true");
intent.putExtra("aspectX", 617);
intent.putExtra("aspectY", 619);

(无论如何,该片段应该是不完整的.继续……)

请注意我在代码片段中如何使用两个大素数.我在这里希望限制最小的作物尺寸.然而,617X619似乎没有效果;对我来说基本上意味着所使用的算法都具有类似的功能

double scale =  (double) aspectY/aspectX;

然后用于匹配xDimen与yDimen.

但是在把手放在空中并放弃之前,我注意到instagram已经成功地限制了裁剪器的最小尺寸.有谁知道我怎么做到这一点?基本上如果你使用instagram,你会注意到你不能裁剪图像的“太小”部分.我该如何决定这些尺寸?

基本上就像Instagram正在做的那样

  double scale =  (double) aspectY/aspectX;
  //....
  if(someInputX > aspectX){
    xDimen = someInputX;
    yDimen = scale* xDimen;
  }else{
    //do not crop any further
  }

我一直在寻找一些裁剪库,看看我是否能弄清楚如何修复最小尺寸,但我似乎无法弄明白.例如,我一直在研究与http://commonsware.com/blog/2013/01/23/no-android-does-not-have-crop-intent.html链接的git项目

解决方法:

您是否愿意使用第三方库?如果是这样,您可以使用这个并更改它以限制最小矩形大小(我不相信它默认允许,但如果您真的想要将它添加到代码中很容易).

https://github.com/edmodo/cropper

上一篇:android – 裁剪到正方形


下一篇:javascript – 全出血图像调整大小计算