我正在构建一个使用摄像头功能的android应用程序。我遇到的问题是我从前置摄像头获得的图像数据(字节[])在我的三星s7和nexus手机上倒过来。它在预览中看起来是正确的,但是在将数据保存为原样然后在图库中显示图像之后,它们都是颠倒的。我知道我可以在保存前翻转图像数据,但我已经在运行4.4(kitkat)的蓝光C 5.0 HD上测试了该代码,并且该手机上的图像数据以正确的方式进行了定向。所以alwyas翻转图像会导致其他设备上的错误。我被告知这个问题是因为当建立新的三星和nexus手机时,前置摄像头被颠倒过来以节省空间。我不确定这是否正确,但如果是这样,如果我翻转所有图像,它将弄乱具有正确相机方向的手机。那么有没有办法在保存图像之前检测图像数据的方向?Android前置摄像头图像被倒置保存
这里是我使用的代码:
mCamera.takePicture(null, null, mPicture);
回调:
private final Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
processCameraCallback(data);
}
};
处理数据:
public void processCameraCallback(byte[] data) {
confirmPhoto(true);
//Make a new empty picture file
try {