perkeep/third_party/github.com/camlistore/goexif
mpl 932c13acb7 exif: use DateTimeOriginal if present. Added test for it.
Change-Id: Idfd75b15d7302b5c3a6fbe3464917b16bce56558
2013-01-31 22:06:45 +01:00
..
cmd goexif fixes 2012-12-06 18:24:55 +01:00
exif exif: use DateTimeOriginal if present. Added test for it. 2013-01-31 22:06:45 +01:00
tiff goexif: synced with upstream 2012-11-23 11:10:43 +01:00
LICENSE import github.com/camlistore/goexif as a third party 2012-11-19 23:04:04 +01:00
README.md import github.com/camlistore/goexif as a third party 2012-11-19 23:04:04 +01:00

README.md

goexif

Provides decoding of basic exif and tiff encoded data. Still in alpha - no guarantees. Suggestions and pull requests are welcome. Functionality is split into two packages - "exif" and "tiff" The exif package depends on the tiff package. Documentation can be found at http://go.pkgdoc.org/github.com/camlistore/goexif

To install, in a terminal type:

go get github.com/camlistore/goexif/exif

Or if you just want the tiff package:

go get github.com/camlistore/goexif/tiff

Example usage:

package main

import (
  "os"
  "log"
  "fmt"

  "github.com/camlistore/goexif/exif"
)

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

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

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

  camModel, _ := x.Get("Model")
  date, _ := x.Get("DateTimeOriginal")
  fmt.Println(camModel.StringVal())
  fmt.Println(date.StringVal())

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