1

電話のカメラを使用して写真をキャプチャし、変数「写真」に保存しました

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

電話のGPSを使用して緯度と経度も取得しました

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

この gps データを画像のみに組み込むにはどうすればよいですか?

PS GPS タグ付き画像は、ユーザーがカメラ設定で GPS タグ オプションを有効にすることにより、手動でキャプチャできます。キャプチャした画像に強制的に GPS タグを付けたい。

4

2 に答える 2

2

ビットマップに設定することはできません。ビットマップは、画像ピクセルを含む単なるバイト配列です。メタデータをサポートするファイル (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();
于 2013-09-26T09:12:28.963 に答える
0

これはあなたが探しているものですか?

于 2013-09-26T09:09:20.190 に答える