boo-urns
boo-urns

Reputation: 10376

Why does the image byte data in onPictureTaken result in a mirrored image?

I call takePicture with a callback for the jpeg event: camera.takePicture(null, null, this);

Here is the callback handler:

@Override
public void onPictureTaken(final byte[] data, Camera camera) {
    Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length);
    MediaStore.Images.Media.insertImage(getContentResolver(), picture, "name" , "description");
}

In testing, I'm finding that the image is always mirrored about the y-axis. Does anyone know (1) whether this happens on for all devices, and (2) why? I really don't understand why the byte data doesn't represent what I see in the camera preview. Is that an unreasonable expection?

Upvotes: 5

Views: 1777

Answers (1)

Calvin
Calvin

Reputation: 3312

I think you are using Front Camera right? That is the behavior of Front Camera. Even if you use a web cam on your laptop, it is the same.

If you want to fix it. Please refer Here

Upvotes: 4

Related Questions