1

しばらく検索しましたが、アンドロイドの 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。on 、またはファクトリ メソッド onのフレーバーをBitmapFactory使用するか、操作を使用して-backedと draw を作成します。setPixel()BitmapcreateBitmap()BitmapBitmapCanvasCanvas

BitmapFactoryPNG や JPEG などの認識された形式でビットマップをデコードするためのものです。

于 2013-09-23T23:49:34.147 に答える