#java #android #image #background #resize
#java #Android #изображение #фон #изменение размера
Вопрос:
Я получаю изображения через API, за исключением того, что проблема в том, что все изображения имеют фиксированный размер, что позволяет использовать большие изображения, поскольку они занимают все пространство, но есть несколько изображений с маленькими объектами, как показано здесь
Мне было интересно, есть ли способ определить, можно ли изменить размер изображения с прозрачным фоном только до того, что показано, например, здесь
Библиотеки, которые я использую для этого, — это glide для получения изображений с URL-адреса и GifImageView для хранения изображения. Любая помощь была бы признательна.
Ответ №1:
Я думаю, что атрибут scalingtype будет полезен. И в glide есть метод с именем apply(), который вы можете использовать для определения параметра, который вы можете использовать для изменения вашего ImageView
RequestOptions cropOptions = новые RequestOptions().centerCrop(контекст); … Glide.with (фрагмент) .load(url) .apply(cropOptions) .into (просмотр изображений); Вы можете воспользоваться документацией библиотеки glide
Комментарии:
1. К сожалению, я пробовал это. Проблема в том, что Glide распознает пустой прозрачный фон как часть изображения, поэтому его масштабирование сделает изображение настолько маленьким, что я ничего не увижу (как видно здесь i.imgur.com/474CTqH.png )
2. Я думаю, что проблема в самом изображении, я столкнулся с аналогичной проблемой, когда попытался установить большое изображение в качестве значка. вам нужно реорганизовать изображение или отредактировать «viewportWidth» и «viewportHeight»
3. Да, я заявил, что проблема заключается в изображении. В большой рамке есть маленький объект. Решение viewportWidth / Height не будет хорошо работать для меня, потому что не все, что я запрашиваю из API, будет небольшим объектом в большом фрейме. Если я не могу узнать, как сделать это динамически?