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

在Android中将byte []渲染为位图

姚韬
2023-03-14
问题内容

我从JNI调用中获取了一个字节数组,并试图用它构造一个Bitmap对象。

我的问题是,以下代码返回空值。

    byte[] image = services.getImageBuffer(1024, 600);
    Bitmap bmp = BitmapFactory.decodeByteArray(image, 0, image.length);

有什么提示吗?

PS:像素布局是BGR,而不是RGB。


问题答案:

该解码字节数组确实不适用于此格式。我从BGR手动更改为RGB。

    byte[] image = services.getImageBuffer(1024, 600);

    Bitmap bmp = Bitmap.createBitmap(1024, 600, Bitmap.Config.RGB_565);
    int row = 0, col = 0;
    for (int i = 0; i < image.length; i += 3) {
        bmp.setPixel(col++, row, image[i + 2] & image[i + 1] & image[i]);

        if (col == 1024) {
            col = 0;
            row++;
        }

然而,

for (i < image.length) 。。。bmp.setPixel(image[i + 2] & image[i + 1] & image[i]);

可以引起:

08-29 14:34:23.460:错误/
AndroidRuntime(8638):java.lang.ArrayIndexOutOfBoundsException



 类似资料:
  • 问题内容: 我想将视图渲染为位图并保存位图。但是我需要在屏幕外进行所有操作。 我已经试过了: 编辑:我的应用程序崩溃,因为视图没有任何宽度或高度。(此措施是为了解决该问题) 抱歉英语不好。 问题答案: 问题在这里: 您需要传递父级布局,以便可以对其进行正确测量。我了解您不希望将视图附加到布局,但是您可以通过使用此方法的此版本来将父布局仅用于测量,将false传递给attachToRoot。 根据参

  • 问题内容: 有没有一种方法可以将html渲染为PNG图片?我知道画布是可能的,但我想呈现例如div之类的标准html元素。 问题答案: 我知道这是一个很老的问题,已经有了很多答案,但是我仍然花了几个小时来尝试做自己想做的事情: 给定一个html文件,从命令行生成具有 透明 背景的(png)图像 使用无头的Chrome(此响应的版本为74.0.3729.157),实际上很容易: 命令说明: 您可以从

  • 问题内容: 有没有一种方法可以将模板呈现为变量而不是输出? 像这样的东西 问题答案: 在您的示例中,最简单的方法是将回调传递给: 但是,如果要渲染局部模板以便将其包含在另一个模板中,则绝对应该查看视图局部。

  • 问题内容: 对于我的django网站,我正在寻找一种将动态html页面转换为pdf的简单解决方案。 页面包含HTML和来自Google可视化API的图表(该图表基于javascript,但必须包含这些图表)。 问题答案: 尝试从Reportlab解决方案。 下载并像往常一样使用python setup.py install安装 你还需要安装以下模块:具有easy_install的xhtml2pdf

  • 使用以下代码,我得到了这样的坏输出: %PDF-1.4%���� 4.0目标 而不是pdf。代码如下: 如何在浏览器中获取实际的pdf输出。

  • 在这行获取异常-->bad base64。是否有其他方法可以不使用任何压缩来完成这项任务? StackTrace--> dalvik.system.vmruntime.newnonmovablearray(原生方法)在Android.graphics.bitmapfactory.nativeDecodeStream(原生方法)在Android.graphics.bitmapfactory.deco