2

バイト配列として保存されている画像があり (Android ディレクトリから .jpg としてアクセスすることもできます)、画像の幅と高さを取得しようとしています。javax.imageio を使用しようとしましたが、Dalvik はこのライブラリをサポートしていないため、Bitmap を使用することにしました。誰か助けてくれませんか?Null Pointer Exceptions が発生し続けます。

public int getWidth(byte[] image) throws IOException{
    Bitmap bitmapImage = BitmapFactory.decodeFile(image.toString());
    int imageWidth = bitmapImage.getWidth();

    return imageWidth;
}

乾杯。

4

1 に答える 1

4

decodeByteArray(image)の代わりに使用してみてくださいdecodeFile(new String(image))。今後の参考のために残されている情報:

toString()配列では機能しません (ランダムな文字列を返します)。に無効な文字列を渡すため、見つからなかったことを示すdecodeImageために返されます。nullしたがって、その上でメソッドを呼び出すと、NullPointerException. を使用する代わりに、文字セットを使用してバイト配列がエンコードされている場合は、バイト配列を適切にデコードする which をimage.toString()使用します。new String(image)

于 2013-06-05T00:35:54.793 に答える