PictureSelector 裁剪图片报错,Toast提示 y + height must be < = bitmap.height()

afdcj2ne  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(63)

Current use version?

当前使用的版本是多少?
api 'io.github.lucksiege:pictureselector:v3.11.0'
  api 'io.github.lucksiege:ucrop:v3.10.9'

Will this problem occur in demo?

Demo能否复现这问题?

可以,修改demo中的裁剪配置可以复现

options.withAspectRatio(640, 302);
  options.withMaxResultSize(640, 302);

Describe the problem or provide an error log?

描述问题或提供错误log?

我的图片裁剪配置

val options = UCrop.Options()
  options.setShowCropFrame(true)
  options.setShowCropGrid(false)
  options.setHideBottomControls(true)
  options.setCompressionQuality(90)
  options.withAspectRatio(640, 302)
  options.withMaxResultSize(640, 302)

裁剪的时候向上滑动图片拖到最底部,有部分图片会出现这个问题,图片原始宽度3840x5120

c9x0cxw0

c9x0cxw01#

正常options.withAspectRatio(); api传的是比例,不是大小,如16:9,4:3等参数
具体裁剪api如何使用,参考开源库 https://github.com/Yalantis/uCrop

hrysbysz

hrysbysz2#

我看了源码,是 BitmapCropTask 中的 crop() 计算的 cropOffsetX + mCroppedImageHeight 超出图片的大小了
我加上这个,就没报错了

相关问题