Skip to content

evanoberholster/exiftools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exif Tools

License Godoc ReportCard Coverage Status Build

Provides decoding of basic exif and tiff encoded data.

Suggestions and pull requests are welcome.

Example usage:

package main

import (
   "fmt"
   "log"
   "os"
   "github.com/evanoberholster/exif/exif"
   "github.com/evanoberholster/exif/mknote"
)

func ExampleDecode() {
    fname := "sample1.jpg"

    f, err := os.Open(fname)
    if err != nil {
        log.Fatal(err)
    }

    // Optionally register camera makenote data parsing - currently Nikon and
    // Canon are supported.
    exif.RegisterParsers(mknote.All...)

    x, err := exif.Decode(f)
    if err != nil {
        log.Fatal(err)
    }

    camModel, _ := x.Get(exif.Model) // normally, don't ignore errors!
    fmt.Println(camModel.StringVal())

    focal, _ := x.Get(exif.FocalLength)
    numer, denom, _ := focal.Rat2(0) // retrieve first (only) rat. value
    fmt.Printf("%v/%v", numer, denom)

    // Two convenience functions exist for date/time taken and GPS coords:
    tm, _ := x.DateTime()
    fmt.Println("Taken: ", tm)

    lat, long, _ := x.LatLong()
    fmt.Println("lat, long: ", lat, ", ", long)
}

Based On

Based on https://github.com/rwcarlsen/goexif

Inspired by https://github.com/dsoprea/go-exif

LICENSE

Copyright (c) 2019, Evan Oberholster & Contributors

Copyright (c) 2016, Jerry Jacobs & Contributors

Copyright (c) 2012, Robert Carlsen & Contributors

About

Image Exif, MakerNote and XMP metadata tools in Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages