当我执行bitmap.getHeight();我得到了一个nullPointerException。这就是我尝试获取位图的方法:
在我的json:" pic":" iVBORw0KGgoAAAANSUhEUgAAAgAAAAGACAIAAABUQk3 ......."
我从json检索以下内容:
byte[] decode = Base64.decode(jsonObj.getString("pic"), Base64.DEFAULT);
Log.i("size",decode.length+""); //65535
Bitmap pic = getImage(decode);
public static Bitmap getImage(byte[] image) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
return BitmapFactory.decodeByteArray(image, 0, image.length,options);
}
但我无法显示图像。 有什么想法吗?
答案 0 :(得分:0)
错误必须在BitmapFactory.decodeByteArray
内,并且很可能问题的根源是不支持的图像格式。检查是否传递了base64编码的jpeg,png,gif或bmp。
另外如果你得到65535作为decode
的大小 - 这是非常可疑的。也许数据在数据库中被修剪(如果blob大小限制为65535)或其他地方。