没有gps数据添加到颤振图像_分拣机图像
final pickedFile = await imagePicker.getImage(source: ImageSource.camera);
final bytes = await pickedFile.readAsBytes();
final tags = await readExifFromBytes(bytes);
print("Tags : $tags ");
标签:(没有Gps数据(
{Image ImageWidth: 4624, Image Model: Redmi Note 8 Pro, Image ImageLength: 3472, Image Orientation: Rotated 90 CW, Image DateTime: 2020:11:15 18:15:14, Image ExifOffset: 142, Image Make: Xiaomi, EXIF FNumber: 189/100, EXIF FocalLength: 543/100, EXIF ExposureTime: 50003/1000000, EXIF Flash: Flash did not fire, EXIF ISOSpeedRatings: 3750, EXIF ExifImageLength: 3472, EXIF ExifImageWidth: 4624, EXIF ApertureValue: 46/25, EXIF ShutterSpeedValue: -431/100, EXIF SubSecTime: 530}
顺便说一句,它没有要求我在拍照时允许定位(第一次(,我必须添加任何权限吗?
- 如果您需要图像位置库和相机,请参阅此链接
是否可以从图像中获取图像GPS位置坐标?
或者如果这适合你的话,我还有一个定制选项。
- 如果只需要相机图片图像时的位置。该图像由您的应用程序打开
使用等简单方法
File _image;
final picker = ImagePicker();
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.camera);
setState(() {
if (pickedFile != null) {
// your will take user location at this time
_image = File(pickedFile.path);
}
else {
print('No image selected.');
}
});
这是我们用来添加GPS信息的:
final picker = ImagePicker();
picker.getImage(source: ImageSource.camera).then((pickedFile) async {
var myImagePath = coreNotifier.myCurrentPath.absolute.path;
final exif =
dd.FlutterExif.fromBytes(await pickedFile!.readAsBytes());
Position position = await _determinePosition();
await exif.setLatLong(position.latitude, position.longitude);
await exif.saveAttributes();
final modifiedImage = await exif.imageData;
var imageName = "imgName..";
File imageFile = new File("$myImagePath/$imageName.jpg");
imageFile.writeAsBytes(
List.from(modifiedImage!),
);
coreNotifier.reload();
});
也使用此软件包:
import 'package:geolocator/geolocator.dart';
import 'package:flutter_exif_plugin/flutter_exif_plugin.dart' as dd;