Is There A Simple Way To Turn The Byte Array From The Camera's Onpreviewframe Into A Picture In Android?
I ask if there is a simple way because there is a google issue report saying that using decodeByteArray isn't possible. But that report originated in 2008 and I was hoping there wa
Solution 1:
I'm assuming your byte array is from the camera preview? If so you have to decode it but with 2.2 it's quite easy now.
Create a YUV image from the byte array as the data will only be in ImageFormat.NV21( int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
Create a rectangle the same size as the image.
Create a ByteArrayOutputStream
and pass this, the rectangle and the compression value to compressToJpeg()
.
Then you can use
BitmapmBitmap= BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
I use this for every frame in the callback and it works fine. Hope this helps.
Solution 2:
The easiest way is to create a BufferedImage the following way:
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0.data.length);
data is the byte array.
Post a Comment for "Is There A Simple Way To Turn The Byte Array From The Camera's Onpreviewframe Into A Picture In Android?"