Пикассо не удается изменить размеры некоторых изображений.Изображение становится белым после изменения размера () или подгонки () - PullRequest
0 голосов
/ 21 октября 2018

Я написал следующий фрагмент кода, который показывает картинку в ImageView.У клиентских изображений нет фиксированных размеров, но они хотят, чтобы изображения становились видимыми в полноэкранном режиме, поэтому я решил изменить размер изображения в соответствии с ориентацией планшета:

Picasso.with(context)
            .load(new File(path))
            .resize(isPortrait ? 400 : 600, isPortrait ? 600 : 400)
            .centerInside()
            .memoryPolicy(MemoryPolicy.NO_CACHE)
            .into(imageCover)

. Он отлично работает для большинства изображений, несмотря нанемногие, которые становятся белыми после изменения размера.Я удалил строку .resize(isPortrait ? 400 : 600, isPortrait ? 600 : 400).centerInside() и вместо этого использовал .fit(), но результат был таким же.Несколько картинок стали белыми.Только если я использую следующий код, все изображения отображаются правильно:

Picasso.with(context)
            .load(new File(path))
            .memoryPolicy(MemoryPolicy.NO_CACHE)
            .into(imageCover);
    container.addView(view);

Все изображения .jpg, но похоже, что некоторые изображения имеют кодировку, которая вызывает проблемы у Пикассо.

...