Não é possível carregar a imagem JPEG com o BitmapFactory.decodeFile. Retorna null
Eu estou fazendo um aplicativo que mostra muitas imagens que são geradas a partir de arquivos PDF pelo Imagemagick. Algumas das imagens não podem ser carregadas com o BitmapFactory. Simplesmente retorna null em um bitmap.
O log diz:
D/skia(15101): --- decoder->decode returned false
Não é um problema de memória, pois algumas das imagens com o problema são muito pequenas e as imagens não estão corrompidas, porque posso mostrá-las em qualquer outra máquina. Além disso, o BitmapFactory é capaz de decodificar a largura e a altura se eu usar
inJustDecodeBounds = true;
nas opções.
Tentei carregar uma das imagens com um visualizador de imagens externo (QuickPic) sem sorte. Ele também retorna "Falha na carga", o que indica que a SKIA acredita que a imagem está corrompida ou que pelo menos não é suportada por algum motivo.
Uma das imagens que não funciona pode ser encontradaAqui
O código completo que eu uso para carregá-lo é aqui
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 */
Qualquer ideia do que está errado ou como pode ser contornado é bem-vinda.