GPS在android中标记捕获的图像

时间:2013-09-26 09:04:53

标签: android image gps

我使用手机相机拍摄了一张照片并将其存储在变量“照片”

Bitmap photo = (Bitmap) data.getExtras().get("data"); 

我还使用手机gps获得了纬度和经度

lat = location.getLatitude();
lon = location.getLongitude();

如何仅将此gps数据合并到图像中?

P.S。通过在用户的相机设置中启用GPS标签选项,可以手动捕获GPS标记的图像。我想确保拍摄的图像是强制性的GPS标记。

2 个答案:

答案 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是你想要的吗?