mirror of https://github.com/perkeep/perkeep.git
6af01f6c71
This change is in anticipation of moving pkg/images to go4.org, where it should not depend on packages in third_party. So: third_party/github.com/nf/cr2 -> vendor/github.com/nf/cr2 third_party/github.com/rwcarlsen/goexif -> vendor/github.com/rwcarlsen/goexif third_party/golang.org/x/image/tiff -> vendor/golang.org/x/image/tiff Note that third_party/go/pkg/image/jpeg was also a dependency of pkg/images. We had vendored image/jpeg from tip at the time because it offered advantages over the version from Go1.3 (https://github.com/camlistore/camlistore/issues/463). Since we now depend on Go1.5, we can go back to depend on the stdlib version, so we simply remove third_party/go/pkg/image/jpeg and adjust the imports accordingly. Change-Id: Ifc8ffae0551102e644a0a0c67f3ff89e04df15c7 |
||
---|---|---|
.. | ||
exif | ||
exifstat | ||
mknote | ||
tiff | ||
LICENSE | ||
README.camlistore | ||
README.md |
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://godoc.org/github.com/rwcarlsen/goexif
Like goexif? - Bitcoin tips welcome: 17M7LFh3ETz4bz83VikB7xuGQskt8K5Lj4
To install, in a terminal type:
go get github.com/rwcarlsen/goexif/exif
Or if you just want the tiff package:
go get github.com/rwcarlsen/goexif/tiff
Example usage:
package main
import (
"fmt"
"log"
"os"
"github.com/rwcarlsen/goexif/exif"
"github.com/rwcarlsen/goexif/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)
}