LuckSiege / LuckSiege/PictureSelector

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

Open
#2,647 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
13.6k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

## 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
![WechatIMG2](https://user-images.githubusercontent.com/5548154/231103725-bff77e4a-81e7-446b-9461-6f8830d9e1ab.jpeg)
![WechatIMG1](https://user-images.githubusercontent.com/5548154/231103789-af5afbb9-884b-4384-9d2e-11e0a746dd04.jpeg)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the crop in the demo with UCrop.Options, a 640x302 aspect ratio and maximum result size, using a 3840x5120 image and dragging it to the bottom. Trace the crop and bitmap-boundary handling that produces “y + height must be <= bitmap.height()”. Done means the demonstrated crop completes without this error and existing crop behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
computer-graphics, mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.