1

Imagemagick によって PDF ファイルから生成された多くの画像を表示するアプリを作成しています。一部の画像は、BitmapFactory で読み込めません。ビットマップの代わりに null を返すだけです。

ログには次のように記載されています。

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

問題のある画像の一部は非常に小さいため、メモリの問題ではありません。他のマシンで表示できるため、画像は破損していません。さらに、BitmapFactory を使用すると、幅と高さをデコードできます

    inJustDecodeBounds = true;

オプションで。

画像の 1 つを外部の画像ビューアー ( QuickPic ) で読み込もうとしましたが、うまくいきませんでした。また、「読み込みに失敗しました」も返します。これは、画像が破損しているか、何らかの理由で少なくともサポートされていないと SKIA が判断したことを示します。

動作しない画像の 1 つをここで見つけることができます

ロードに使用する完全なコードはこちら

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

何が間違っているか、またはどのように回避できるかについてのアイデアは大歓迎です。

4

2 に答える 2

1

どうやらSKIAはCMYKプロファイルのJPGに問題があるようです。私の問題の回避策は、パラメータ「-colorspaceRGB」をimagemagick変換に追加することでした。

于 2012-06-18T06:42:56.580 に答える