[英]Android: Is EXTERNAL_CONTENT_URI enough for a photo gallery?
[英]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.