Dart module to decode Exif data from tiff and jpeg files.
Dart port of ianaré sévi's EXIF library: https://github.com/ianare/exif-py.
Add this to your package's pubspec.yaml file:
dependencies:
exif:
You can install packages from the command line:
$ pub get
Simple example:
printExifOf(String path) async {
Map<String, IfdTag> data = await readExifFromFile(new File(path));
if (data == null || data.isEmpty) {
printFunc("No EXIF information found\n");
return;
}
if (data.containsKey('JPEGThumbnail')) {
printFunc('File has JPEG thumbnail');
data.remove('JPEGThumbnail');
}
if (data.containsKey('TIFFThumbnail')) {
printFunc('File has TIFF thumbnail');
data.remove('TIFFThumbnail');
}
for (String key in data.keys) {
printFunc("$key (${data[key].tagType}): ${data[key]}");
}
}
Read from bytes:
printExifOf(String path) async {
Map<String, IfdTag> data = await readExifFromBytes(await new File(path).readAsBytes());
if (data == null || data.isEmpty) {
printFunc("No EXIF information found\n");
return;
}
if (data.containsKey('JPEGThumbnail')) {
printFunc('File has JPEG thumbnail');
data.remove('JPEGThumbnail');
}
if (data.containsKey('TIFFThumbnail')) {
printFunc('File has TIFF thumbnail');
data.remove('TIFFThumbnail');
}
for (String key in data.keys) {
printFunc("$key (${data[key].tagType}): ${data[key]}");
}
}