相关疑难解决方法(0)

Android EXIF数据总是0,如何更改呢?

我有一个应用程序,使用本机捕获照片Camera,然后将它们上传到服务器.我的问题是所有照片的EXIF方向值都为0,这会使显示器在其他地方混乱.

如何更改EXIF方向?我不是在寻找一种方法来纠正每种情况,只需将其更改为不同的值.

我正在使用三星Galaxy Note 4

我尝试了这个在拍照前设置相机方向的解决方案:设置Android Photo EXIF方向

Camera c = Camera.open();
c.setDisplayOrientation(90);

Camera.Parameters params = mCamera.getParameters();
params.setRotation(0); // tried 0, 90, 180
c.setParameters(params);
Run Code Online (Sandbox Code Playgroud)

但它不会影响生成的EXIF数据,它仍然始终为0

我也试过这些解决方案,在拍摄后旋转图像:EXIF方向标记值始终为0,用于使用肖像相机app拍摄的图像

当旋转照片时,EXIF方向始终为0.

我还尝试直接设置EXIF数据:如何在Android中进行位图压缩后保存Exif数据

private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
    @Override
    public void onPictureTaken(byte[] data, Camera camera) {
        final File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE, "");
        try {
            FileOutputStream fos = new FileOutputStream(pictureFile);

            ExifInterface exif = new ExifInterface(pictureFile.toString());
            exif.setAttribute(ExifInterface.TAG_ORIENTATION, "3");
            exif.saveAttributes();

            fos.write(data);
            fos.close();

            //upload photo..
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但上传后EXIF Orientation仍为0.

我也看过这些解决方案:

Exif数据TAG_ORIENTATION始终为0 …

camera android exif image orientation

25
推荐指数
3
解决办法
1万
查看次数

标签 统计

android ×1

camera ×1

exif ×1

image ×1

orientation ×1