decodeByteArray を使用できないという Google の問題レポートがあるため、簡単な方法があるかどうかを尋ねます。しかし、そのレポートは 2008 年に作成されたものであり、そこに掲載されていない解決策があることを期待していました。イシュー レポートに記載されている方法は、自分でフォーマットをデコードすることでしたが、それを入れてプログラムを遅くする必要はありません。どんな助けでも大歓迎です。
4773 次
2 に答える
8
あなたのバイト配列はカメラのプレビューからのものだと思いますか? その場合はデコードする必要がありますが、2.2 では非常に簡単です。
データはバイト配列から YUV イメージを作成します。ImageFormat.NV21( int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
画像と同じサイズの長方形を作成します。
を作成し、ByteArrayOutputStream
これ、長方形、および圧縮値を に渡しますcompressToJpeg()
。
次に、使用できます
Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
これをコールバックのすべてのフレームに使用すると、正常に動作します。お役に立てれば。
于 2010-12-06T14:13:17.070 に答える
2
最も簡単な方法は、次の方法で BufferedImage を作成することです。
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0. data.length);
データはバイト配列です。
于 2010-07-23T19:07:04.940 に答える