Невозможно загрузить JPEG-изображение с помощью BitmapFactory.decodeFile. Возвращает ноль
Я делаю приложение, которое показывает много изображений, которые были сгенерированы из PDF-файлов Imagemagick. Некоторые изображения не могут быть загружены с помощью BitmapFactory. Он просто возвращает нулевую часть растрового изображения.
В журнале написано:
D/skia(15101): --- decoder->decode returned false
Это не проблема памяти, поскольку некоторые изображения с этой проблемой очень малы, и изображения не повреждены, потому что я могу показать их на любой другой машине. Кроме того, BitmapFactory может декодировать ширину и высоту, если я использую
inJustDecodeBounds = true;
в опциях.
Я пытался загрузить одно из изображений с помощью внешнего средства просмотра изображений (QuickPicбез удачи. Он также возвращает «Ошибка загрузки», которая указывает, что SKIA считает, что изображение повреждено или, по крайней мере, по какой-то причине не поддерживается.
Можно найти одно из изображений, которое не работает.Вот
Полный код, который я использую для загрузки, находится здесь
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(FILENAME,o);
int width = o.outWidth;
int height = o.outHeight;
/* Width and height decoded successfuly */
BitmapFactory.Options o2 = new BitmapFactory.Options();
o.inJustDecodeBounds = false;
Bitmap bitmap = BitmapFactory.decodeFile(FILENAME,o2);
/*Bitmap is null */
Любая идея, что не так или как это можно обойти, приветствуется.