Nie można załadować obrazu JPEG za pomocą BitmapFactory.decodeFile. Zwraca wartość null

Tworzę aplikację, która pokazuje wiele obrazów generowanych z plików PDF przez Imagemagick. Niektórych obrazów nie można załadować za pomocą BitmapFactory. Zwraca po prostu pustą istotę mapy bitowej.

Dziennik mówi:

    D/skia(15101): --- decoder->decode returned false

Nie jest to problem z pamięcią, ponieważ niektóre obrazy z problemem są bardzo małe, a obrazy nie są uszkodzone, ponieważ mogę je wyświetlać na dowolnym innym komputerze. Dodatkowo BitmapFactory może dekodować szerokość i wysokość, jeśli używam

    inJustDecodeBounds = true;

w opcjach.

Próbowałem załadować jeden z obrazów za pomocą zewnętrznej przeglądarki obrazów (QuickPic) bez szczęścia. Zwraca także „Load failed”, co wskazuje, że SKIA uważa, że ​​obraz jest uszkodzony lub przynajmniej nie jest obsługiwany z jakiegoś powodu.

Można znaleźć jeden z obrazów, które nie działajątutaj

Pełny kod, którego używam do załadowania, jest tutaj

    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 */

Wszelkie pomysły, co jest nie tak lub jak można je obejść, są mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion