当前位置: 首页 > 面试题库 >

为什么BitmapFactory.decodeByteArray返回null?

慕晨
2023-03-14
问题内容

这是简单的代码,我没有得到设置位图的结果,而是得到了null。谁能告诉我我在哪里犯错了?

String test = "test";
byte[] byteA = test.getBytes();
Bitmap bmp = BitmapFactory.decodeByteArray(byteA, 0, byteA.length); //<- I get null here
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageBitmap(bmp);

更新

好的,所以我无法像我想的那样将文本转换为图像。这样呢 这会创建位图吗?

  Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.RED);
    paint.setTextSize(16);
    paint.setAntiAlias(true);
    paint.setTypeface(Typeface.MONOSPACE);

    Bitmap bm = Bitmap.createBitmap(16, 16, Bitmap.Config.ALPHA_8);
    float x = bm.getWidth();
    float y = bm.getHeight();
    Canvas c = new Canvas(bm);
    c.drawText("Test", x, y, paint);

问题答案:

从文档中:

返回 解码的位图;如果无法解码图像,则 返回 null。

字符串“ test”中涉及的字节不是有效的位图,对吗?

如果将文本“ test”保存在名为foo.pngor
foo.jpg等的文件中,并试图在Windows中打开它,那么您期望的结果是什么?这将是一个错误:这些字节根本 不是 任何已知格式的有效图像。

编辑:我对Android图形一无所知,但您的更新肯定 看起来 像是一种将文本绘制到位图上的更为合理的方法。



 类似资料:
  • 问题内容: 我已经存储了在该数据库中插入并插入记录的过程。我想获取最后插入的记录的ID。返回NULL并返回正确的ID,为什么会发生?如我所读,因此最好在表上有一些触发器的情况下使用。我可以使用吗?不论触发器如何,它是否都在表的范围内返回ID? 那么问题是什么以及使用什么呢? 已编辑 问题答案: 就像奥德(Oded)所说的那样,问题在于您在执行之前要先询问身份。 作为解决方案,最好尽可能地接近运行。

  • 我正在尝试访问项目中的文件。但是getResource方法返回null。 以及eclipse工作区中项目文件夹的外观: 为什么啊?我想访问我的资产文件夹中的文件? 编辑我创建了一个jar文件,这是jar的内容: 已解决 首先,我有很多图像文件,所以我想把它们组织在一个文件夹中。我把assets文件夹放在src目录中,最后我能够访问这些文件。

  • 我的jar中有一个图像,我正试图加载它,但是getResourceAsStream()总是返回null。 目录结构: 所容纳之物爪哇: 一般内容。爪哇: StackTrace: 我不知道为什么类加载器找不到图像。我已经在编译的jar中查看过了,文件在那里,并且在油漆中打开很好,所以文件是OK的。我已经尝试了各种ClassLoader变体,包括getSystemClassLoader(),getCl

  • 根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果:

  • 问题内容: 为什么第一个返回,而第二个返回? 这不是很奇怪吗?如果不是,此行为背后的逻辑是什么? 下划线是罪魁祸首吗?为什么? 问题答案: 如@hsz的评论中所述,这是已知的bug。 但是,让我们调试并查看类的源代码。问题出在方法内部: : 第一个URI解析失败 这是因为符号未扫描块内foreseed,它只允许阿尔法,数字和符号(,,和)。 是的,这尚未在中解决。

  • 问题内容: 为什么要用Python返回? 我如何获得改组后的值而不是? 问题答案: 更改列表 到位 。 在原位更改结构的Python API方法通常返回,而不是修改后的数据结构。 如果要基于现有列表创建 新的 随机混排列表,并按顺序保留现有列表,则可以使用输入的完整长度: 您还可以将with用于排序键: 但这会调用排序(O(NlogN)操作),而采样到输入长度仅需要O(N)操作(与所使用的过程相同