2

我有一个存储为字节数组的图像(也可以从 Android 目录作为 .jpg 访问),我正在尝试获取图像的宽度和高度。我尝试使用 javax.imageio 但是 Dalvik 不支持这个库,所以我选择使用 Bitmap。有谁可以帮我离开这里吗?我不断收到空指针异常。

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. 如果字节数组是使用字符集编码的,而不是使用image.toString(),new String(image)正确解码字节数组。

于 2013-06-05T00:35:54.793 回答