繁体   English   中英

使用EXTERNAL_CONTENT_URI从图库中选择的图像中缺少EXIF信息

[英]Missing EXIF info in images selected from gallery using EXTERNAL_CONTENT_URI

我正在尝试从从EXTERNAL_CONTENT_URI意向中选择的图像中收集EXIF信息(拍摄日期,地理标记,方向),但似乎如果这些图像来自互联网(例如Google相册),则EXIF数据会被截断。

例如,如果我从PC上的photos.google.com从网络浏览器下载图片,则图片大小为4.377.104字节,并且所有EXIF数据都在那里。 如果我使用以下命令下载相同的图像:

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

其大小为4.363.578字节(比原始大小少13526字节),并且所有EXIF数据均丢失

关于如何下载完整原始图像的任何想法吗?

PS:如果我从图库中选择了从手机上拍摄的图片,但该图片仍驻留在手机的存储空间中,则存在EXIF数据

我终于找到了解决方案。 使用onActivityResult方法获取源图像Uri之后

Uri selectedImage = data.getData(); 

我使用以下功能从图片中获取必要的数据

public static ImageInfo getImageInfo(Context context, Uri photoUri) {

        Cursor cursor = context.getContentResolver().query(photoUri,
                new String[] {
                        MediaStore.Images.ImageColumns.ORIENTATION,
                        MediaStore.Images.ImageColumns.LATITUDE,
                        MediaStore.Images.ImageColumns.LONGITUDE,
                        MediaStore.Images.ImageColumns.DATE_TAKEN } , null, null, null);

        if (cursor.getCount() != 1) {
            return null;
        }

        cursor.moveToFirst();

        ImageInfo i = new ImageInfo();
        i.Orientation = cursor.getInt(0);
        i.Lat = cursor.getDouble(1);
        i.Lon = cursor.getDouble(2);
        i.DateTakenUTC = cursor.getLong(3)/1000;

        cursor.close();

        return i;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM