我使用手机相机拍摄了一张照片并将其存储在变量“照片”
中Bitmap photo = (Bitmap) data.getExtras().get("data");
我还使用手机gps获得了纬度和经度
lat = location.getLatitude();
lon = location.getLongitude();
如何仅将此gps数据合并到图像中?
P.S。通过在用户的相机设置中启用GPS标签选项,可以手动捕获GPS标记的图像。我想确保拍摄的图像是强制性的GPS标记。
答案 0 :(得分:2)
你不能将它设置为Bitmap,Bitmap只是一个带有图像像素的字节数组。 将这些坐标保存到支持元数据的文件后(例如PNG或JPG),您必须应用这些坐标
为此,请使用ExifInterface
代码类似于:
String filePath = Enviroment.getExternalStorageDirectory() + "/MyApp/photo.png";
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(filePath)));
photo.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
ExifInterface exif = new ExifInterface(filePath);
// call this next setAttributes a few times to write all the GPS data to it.
exif.setAttribute(... );
// don't forget to save
exif.saveAttributes();
答案 1 :(得分:0)
this是你想要的吗?