1

我已经搜索了一段时间,但找不到 android 的 BitmapFactory.decodeByteArray() 的示例实现

我希望了解函数的工作原理,因为我计划将它用于我正在从事的项目,但我无法获得一个简单的示例。这是我的代码:

public Bitmap createRandomBitmap() {
    int h = 300;
int w = 300;

buf = new byte[h * w * 4];

for (int i = 0; i < h * w * 4;i++) {
    buf[i] = 127;
}

bmp = BitmapFactory.decodeByteArray(buf, 0, h * w);
return bmp;
}

这总是返回 null,根据文档,这意味着位图无法加载。但我不知道为什么。这应该使用默认的 ARGB_8888 格式,其中每个像素有 4 个字节。我以为我已经处理了上面的问题。有什么建议么?

4

1 回答 1

4

Bitmap如果您想以自己的方式创建原始文件,那BitmapFactory不是答案。使用setPixel()on或工厂方法Bitmap的某种风格on ,或使用操作创建-backed和 draw 。createBitmap()BitmapBitmapCanvasCanvas

BitmapFactory用于解码可识别格式的位图,例如 PNG 和 JPEG。

于 2013-09-23T23:49:34.147 回答